API Metrics
Metrics accessed at the api
endpoint (such as those consumed by the Dropwizard dashboard widget) use dot notation for their metric names; for example, recon.target-phase
. The following table lists the API metrics available in IDM:
API Metrics Available in IDM
API Metric Name | Type | Description |
---|---|---|
audit.audit-topic | Summary | Count of all audit events generated of a given topic type. |
field.augmentation.edge | Timer | Rate of reading response objects, to fulfill the _fields requested (when the fields were not populated by the initial repo query). |
field.augmentation.vertex | Timer | Rate of reading response objects, to fulfill the _fields requested (when the fields were not populated by the initial repo query). |
filter.filter-type.action.script-name | Timer | Rate at which filter scripts are executed, per action. Monitors scripted filters and delegated admin. |
icf.system-identifier.objectClass.query._queryExpression | Timer | Rate of ICF query executions with queryExpression, and time taken to perform this operation. |
icf.system-identifier.objectClass.query._queryFilter | Timer | Rate of ICF query executions with queryFilter, and time taken to perform this operation. |
icf.system-identifier.objectClass.query._queryId.queryId | Timer | Rate of ICF query executions with queryId, and time taken to perform this operation. |
icf.system-identifier.objectClass.query._UNKNOWN | Timer | Rate of ICF query executions when the query type is UNKNOWN, and time taken to perform this operation. |
internal.managed-object.operation | Timer | Rate of operations on internal objects. |
internal.managed-object.relationship.fetch-relationship-fields | Timer | Rate of fetch operations of relationship fields for internal objects. |
internal.managed-object.relationship.get-relationship-value-for-resource | Timer | Query rate on relationship values for internal objects. |
internal.managed-object.script.script-name | Timer | Rate of script executions on internal object. |
internal.managed-object.relationship.validate-relationship-fields | Timer | Rate of validate operations of relationship fields for internal objects. |
managed.field.augmentation | Timer | Rate of responses requiring field augmentation. When the repository cannot retrieve all data in a single call, IDM performs additional read operations to complete (augment) the missing data. |
managed.managed-object.operation | Timer | Rate of operations on a managed object. |
managed.managed-object.relationship.fetch-relationship-fields | Timer | Rate of fetches of relationship fields of a managed object. |
managed.managed-object.relationship.get-relationship-value-for-resource | Timer | Rate of queries to get relationship values for a resource on a managed object. |
managed.managed-object.relationship.validate-relationship-fields | Timer | Rate of validations of relationship fields of a managed object. |
managed.managed-object.script.script-name | Timer | Rate of executions of a script on a managed object. |
managed.object.handle-temporal-constraints-on-create | Timer | Latency of enforcing temporal constraints on role objects during object creation. |
managed.object.handle-temporal-constraints-on-delete | Timer | Latency of enforcing temporal constraints on role objects during object deletion. |
managed.object.handle-temporal-constraints-on-update | Timer | Latency of enforcing temporal constraints on role objects during object update. |
managed.relationship.handle-temporal-constraints-on-create | Timer | Latency of enforcing temporal constraints on relationship grants during edge creation. |
managed.relationship.handle-temporal-constraints-on-delete | Timer | Latency of enforcing temporal constraints on relationship grants during edge deletion. |
managed.relationship.handle-temporal-constraints-on-update | Timer | Latency of enforcing temporal constraints on relationship grants during edge update. |
managed.relationship.validate.read-relationship-endpoint-edges | Timer | Rate of reads on relationship endpoint edges for validation. |
null_array_filter.augmentationrequestType | Timer | Time spent in filter which maps non-nullable, null-valued array fields to an empty array. This filter is traversed for all repo access relating to internal and managed objects. |
recon | Timer | Rate of executions of a full reconciliation, and time taken to perform this operation. |
recon-assoc-entry.merged-query.merge-results | Timer | Rate of merge operations after source and/or target objects have been retrieved during a merged query of recon association entries. |
recon-assoc-entry.merged-query.page-assoc-entries | Timer | Rate of individual paged recon association entry queries during a merged query. More than one page of entries might be requested to build a single page of merged results. |
recon-assoc-entry.merged-query.query-source | Timer | Rate of source object retrieval via query when merging source objects to recon association entries. |
recon-assoc-entry.merged-query.query-target | Timer | Rate of target object retrieval via query when merging target objects to recon association entries. |
recon.association-persistence.recon-id-operation | Timer | The time taken to persist association data. The operation can be source , target , or amendsource , depending on whether data is being produced for a source-phase or target-phase recon association, or to amend the association for a specific source. |
recon.id-queries-phase | Timer | Rate of executions of the id query phase of a reconciliation, and time taken to perform this operation. |
recon.source-phase | Timer | Rate of executions of the source phase of a reconciliation, and time taken to perform this operation. |
recon.source-phase.page | Timer | Rate of pagination executions of the source phase of a reconciliation, and time taken to perform this operation. |
recon.target-phase | Timer | Rate of executions of the target phase of a reconciliation, and time taken to perform this operation. |
repo.jdbc.relationship.edge.execute.joinedToVertex | Timer | Time (ms) spent running the Edge->Vertex relationship join query on the database and collecting the result set. |
repo.jdbc.relationship.execute | Timer | Rate of relationship graph query execution times. |
repo.jdbc.relationship.process | Timer | Rate of relationship graph query result processing times. |
repo.raw._queryId.queryId | Timer | Rate of executions of a query with queryId at a repository level, and time taken to perform this operation. |
repo.repo-type.cache.objecttypes.event.resource-mapping | Count | Counts the usage statistics of the objecttypeid cache, which maps an object type to its objecttypeid . The expected count is a small number of misses (sometimes, only one) and the remainder of hits. |
repo.repo-typeget-connection | Timer | Rate of retrievals of a repository connection. |
repo.repo-type.operation.action_name.command.resource-mapping | Timer | Rate of actions to a repository datasource for a generic/explicit mapped table. |
repo.repo-type.operation._adhoc-expression.relationship | Timer | Rate of filtered queries (using native query expressions) on the relationship table. This metric measures the time spent making the query (in ms), and the number of times the query is invoked. |
repo.repo-type.operation._adhoc-filter.relationship | Timer | Rate of filtered queries (using the _queryFilter parameter) on the relationship table. This metric measures the time spent making the query (in ms), and the number of times the query is invoked. |
repo.repo-type.create_properties.execute.resource-mapping | Timer | Rate of execution time on the JDBC database for the create_properties operations. This operation is performed for every generic object create when it persists the searchable properties. The rate measured here does not include the time taken to obtain a connection to the database from the connection pool. The physical connections to the database have already been established inside the connection pool. |
repo.repo-type.operation.execute.resource-mapping | Timer | Rate of execution time on the JDBC database for CRUD operations. This rate does not include the time taken to obtain a connection to the database from the connection pool. The physical connections to the database have already been established inside the connection pool. |
repo.repo-type.query.execute.resource-mapping[.queryType.] | Timer | Rate of execution time on the JDBC database for queries (either queryFilter or queryId ). This rate does not include the time taken to obtain a connection to the database from the connection pool. The physical connections to the database have already been established inside the connection pool. |
repo.repo-type.operation.relationship | Timer | Rate of CRUDPAQ operations to a repository datasource for a generic/explicit/relationship mapped table. |
repo.repo-type.operation.relationship.stage.origin_type | Timer | Time (ms) spent in the various phases to retrieve relationship expanded data referenced by queried objects. |
repo.repo-type.operation.resource-mapping | Timer | Rate of initiations of a CRUDPAQ operation to a repository datasource. |
router.path-name.action.action-type | Timer | Rate of actions over the router, and time taken to perform this operation. |
router.path-name.create | Timer | Rate of creates over the router, and time taken to perform this operation. |
router.path-name.delete | Timer | Rate of deletes over the router, and time taken to perform this operation. |
router.path-name.patch | Timer | Rate of patches over the router, and time taken to perform this operation. |
router.path-name.query.queryExpression | Timer | Rate of queries with queryExpression completed over the router, and time taken to perform this operation. |
router.path-name.query.queryFilter | Timer | Rate of queries with queryFilter completed over the router, and time taken to perform this operation. |
router.path-name.read | Timer | Rate of reads over the router, and time taken to perform this operation. |
router.path-name.update | Timer | Rate of updates over the router, and time taken to perform this operation. |
scheduler.job-store.repo.operation.scheduler-object | Timer | Time spent storing scheduled jobs in the repository. |
scheduler.type.operation | Timer | Execution rate of scheduler requests. |
script.script-name.request-type | Timer | Rate of calls to a script and time taken to complete. |
selfservice.user.password.reset | Summary | Count of all successful user self-service password resets. |
selfservice.user.registration.registration-type | Summary | Count of all successful user self-service registrations by registration type. |
selfservice.user.registration.registration-type.provider | Summary | Count of all successful user self-service registrations by registration type and provider. |
sync.create-object | Timer | Rate of requests to create a target object, and time taken to perform the operation. |
sync.delete-target | Timer | Rate of requests to delete a target object, and time taken to perform the operation. |
sync.objectmapping.mapping-name | Timer | Rate of configurations applied to a mapping. |
sync.queue.mapping-name.action.acquire | Timer | Rate of acquisition of queued synchronization events from the queue. |
sync.queue.mapping-name.action.discard | Timer | Rate of deletion of synchronization events from the queue. |
sync.queue.mapping-name.action.execution | Timer | Rate at which queued synchronization operations are executed. |
sync.queue.mapping-name.action.failed | Summary | Number of queued synchronization operations that failed. |
sync.queue.mapping-name.action.precondition-failed | Summary | Number of queued synchronization events that were acquired by another node in the cluster. |
sync.queue.mapping-name.action.rejected-executions | Summary | Number of queued synchronization events that were rejected because the backing thread-pool queue was at full capacity and the thread-pool had already allocated its maximum configured number of threads. |
sync.queue.mapping-name.action.release | Timer | Rate at which queued synchronization events are released. |
sync.queue.mapping-name.action.release-for-retry | Timer | Times the release of queued synchronization events after a failure and before exceeding the retry count. |
sync.queue.mapping-name.action.submit | Timer | Rate of insertion of synchronization events into the queue. |
sync.queue.mapping-name.poll-pending-events | Timer | The latency involved in polling for synchronization events. |
sync.raw-read-object | Timer | Rate of reads of an object. |
sync.source.assess-situation | Timer | Rate of assessments of a synchronization situation. |
sync.source.correlate-target | Timer | Rate of correlations between a target and a given source, and time taken to perform this operation. |
sync.source.determine-action | Timer | Rate of determinations done on a synchronization action based on its current situation. |
sync.source.perform-action | Timer | Rate of completions of an action performed on a synchronization operation. |
sync.target.assess-situation | Timer | Rate of assessments of a target situation. |
sync.target.determine-action | Timer | Rate of determinations done on a target action based on its current situation. |
sync.target.perform-action | Timer | Rate of completions of an action performed on a target sync operation. |
sync.update-target | Timer | Rate of requests to update an object on the target, and the time taken to perform this operation. |
user.login.user-type | Summary | Count of all successful logins by user type. |
user.login.user-type.provider | Summary | Count of all successful logins by user type and provider. |
virtual-properties-from-relationships.not-found.virtual_properties.resource_collection_relationship_field | Summary | Number of 404 responses encountered when querying the resource_collection /relationship_field specified in the traversal_depthX tag for the most recent X. |
virtual-properties-from-relationships.unsatisified-temp-constraint.virtual_properties.resource_collection_relationship_field | Summary | Number of edges skipped due to an unsatisfied temporal constraint on either the edge or the referred-to vertex. Encountered when querying the resource collection and relationship field at the traversal_depthX tag for the most recent X. |
virtual-properties-from-relationships.virtual_properties.resource_collection_relationship_field | Timer | Time spent traversing relationship fields to calculate the specified virtual properties. The managed objects linked to by the traversal relationship fields define a tree, whose root is the virtual property host. This object tree is traversed depth-first, with the traversal_depthX corresponding to the latency involved with each relationship traversal. Traversal_depth0 corresponds to the first relationship field traversed. Because the tree is traversed depth-first, traversal_depthX will subsume all of the traversal latencies for all traversal_depth Y, where Y>X. |