PingIDM 7.5.0

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 that 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 the time taken to perform this operation.

icf.system-identifier.objectClass.query._queryFilter

Timer

Rate of ICF query executions with queryFilter and the 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.

live-sync.system-name.object-type

Timer

Duration of live sync on a system object.

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 that maps non-nullable and 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 the 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-mappingqueryType.]

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 the time taken to perform this operation.

router.path-name.create

Timer

Rate of creates over the router and the time taken to perform this operation.

router.path-name.delete

Timer

Rate of deletes over the router and the time taken to perform this operation.

router.path-name.patch

Timer

Rate of patches over the router and the time taken to perform this operation.

router.path-name.query.queryExpression

Timer

Rate of queries with queryExpression completed over the router and the time taken to perform this operation.

router.path-name.query.queryFilter

Timer

Rate of queries with queryFilter completed over the router and the time taken to perform this operation.

router.path-name.read

Timer

Rate of reads over the router and the time taken to perform this operation.

router.path-name.update

Timer

Rate of updates over the router and the time taken to perform this operation.

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 acquired by another node in the cluster.

sync.queue.mapping-name.action.rejected-executions

Summary

Number of queued synchronization events 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 subsumes all the traversal latencies for all traversal_depth Y, where Y>X.

API JVM metrics available in IDM

These metrics depend on the JVM version and configuration. In particular, garbage-collector-related metrics depend on the garbage collector that the server uses. The garbage-collector metric names are unstable and can change even in a minor JVM release.
API Metric Name Type Unit Description

jvm.available-cpus

Gauge

Count

Number of processors available to the JVM. For more information, refer to Runtime.

jvm.class-loading.loaded

Gauge

Count

Number of classes loaded since the Java virtual machine started. For more information, refer to ClassLoadingMXBean.

jvm.class-loading.unloaded

Gauge

Count

Number of classes unloaded since the Java virtual machine started. For more information, refer to ClassLoadingMXBean.

jvm.free-used-memory

Gauge

Bytes

For more information, refer to Runtime.

jvm.garbage-collector.G1-Old-Generation.count

Gauge

Count

For each garbage collector in the JVM. For more information, refer to GarbageCollectorMXBean.

jvm.garbage-collector.G1-Old-Generation.time

Gauge

Milliseconds

jvm.garbage-collector.G1-Young-Generation.count

Gauge

Count

jvm.garbage-collector.G1-Young-Generation.time

Gauge

Milliseconds

jvm.max-memory

Gauge

Bytes

For more information, refer to Runtime.

jvm.memory-usage.heap.committed

Gauge

Bytes

Amount of heap memory committed for the JVM to use. For more information, refer to MemoryMXBean.

jvm.memory-usage.heap.init

Gauge

Bytes

jvm.memory-usage.heap.max

Gauge

Bytes

Maximum amount of heap memory available to the JVM.

jvm.memory-usage.heap.usage

Gauge

Bytes

jvm.memory-usage.heap.used

Gauge

Bytes

Amount of heap memory used by the JVM.

jvm.memory-usage.non-heap.committed

Gauge

Bytes

Amount of non-heap memory committed for the JVM to use.

jvm.memory-usage.non-heap.init

Gauge

Bytes

Amount of non-heap memory the JVM initially requested from the operating system.

jvm.memory-usage.non-heap.max

Gauge

Bytes

Maximum amount of non-heap memory available to the JVM.

jvm.memory-usage.non-heap.usage

Gauge

Bytes

jvm.memory-usage.non-heap.used

Gauge

Bytes

Amount of non-heap memory used by the JVM.

jvm.memory-usage.pools.CodeHeap-'non-nmethods'.committed

Gauge

Bytes

For each pool. For more information, refer to MemoryPoolMXBean.

jvm.memory-usage.pools.CodeHeap-'non-nmethods'.init

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-nmethods'.max

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-nmethods'.usage

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-nmethods'.used

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-profiled-nmethods'.committed

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-profiled-nmethods'.init

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-profiled-nmethods'.max

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-profiled-nmethods'.usage

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'non-profiled-nmethods'.used

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'profiled-nmethods'.committed

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'profiled-nmethods'.init

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'profiled-nmethods'.max

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'profiled-nmethods'.usage

Gauge

Bytes

jvm.memory-usage.pools.CodeHeap-'profiled-nmethods'.used

Gauge

Bytes

jvm.memory-usage.pools.Compressed-Class-Space.committed

Gauge

Bytes

jvm.memory-usage.pools.Compressed-Class-Space.init

Gauge

Bytes

jvm.memory-usage.pools.Compressed-Class-Space.max

Gauge

Bytes

jvm.memory-usage.pools.Compressed-Class-Space.usage

Gauge

Bytes

jvm.memory-usage.pools.Compressed-Class-Space.used

Gauge

Bytes

jvm.memory-usage.pools.G1-Eden-Space.committed

Gauge

Bytes

jvm.memory-usage.pools.G1-Eden-Space.init

Gauge

Bytes

jvm.memory-usage.pools.G1-Eden-Space.max

Gauge

Bytes

jvm.memory-usage.pools.G1-Eden-Space.usage

Gauge

Bytes

jvm.memory-usage.pools.G1-Eden-Space.used

Gauge

Bytes

jvm.memory-usage.pools.G1-Eden-Space.used-after-gc

Gauge

Bytes

jvm.memory-usage.pools.G1-Old-Gen.committed

Gauge

Bytes

jvm.memory-usage.pools.G1-Old-Gen.init

Gauge

Bytes

jvm.memory-usage.pools.G1-Old-Gen.max

Gauge

Bytes

jvm.memory-usage.pools.G1-Old-Gen.usage

Gauge

Bytes

jvm.memory-usage.pools.G1-Old-Gen.used

Gauge

Bytes

jvm.memory-usage.pools.G1-Old-Gen.used-after-gc

Gauge

Bytes

jvm.memory-usage.pools.G1-Survivor-Space.committed

Gauge

Bytes

jvm.memory-usage.pools.G1-Survivor-Space.init

Gauge

Bytes

jvm.memory-usage.pools.G1-Survivor-Space.max

Gauge

Bytes

jvm.memory-usage.pools.G1-Survivor-Space.usage

Gauge

Bytes

jvm.memory-usage.pools.G1-Survivor-Space.used

Gauge

Bytes

jvm.memory-usage.pools.G1-Survivor-Space.used-after-gc

Gauge

Bytes

jvm.memory-usage.pools.Metaspace.committed

Gauge

Bytes

jvm.memory-usage.pools.Metaspace.init

Gauge

Bytes

jvm.memory-usage.pools.Metaspace.max

Gauge

Bytes

jvm.memory-usage.pools.Metaspace.usage

Gauge

Bytes

jvm.memory-usage.pools.Metaspace.used

Gauge

Bytes

jvm.memory-usage.total.committed

Gauge

Bytes

Amount of memory that is committed for the JVM to use. For more information, refer to MemoryMXBean.

jvm.memory-usage.total.init

Gauge

Bytes

jvm.memory-usage.total.max

Gauge

Bytes

jvm.memory-usage.total.used

Gauge

Bytes

jvm.thread-state.blocked.count

Gauge

Count

For more information, refer to ThreadMXBean.

jvm.thread-state.count

Gauge

Count

Number of live threads including both daemon and non-daemon threads.

jvm.thread-state.daemon.count

Gauge

Count

Number of live daemon threads.

jvm.thread-state.new.count

Gauge

Count

Number of threads in the NEW state.

jvm.thread-state.runnable.count

Gauge

Count

Number of threads in the RUNNABLE state.

jvm.thread-state.terminated.count

Gauge

Count

Number of threads in the TERMINATED state.

jvm.thread-state.timed_waiting.count

Gauge

Count

Number of threads in the TIMED_WAITING state.

jvm.thread-state.waiting.count

Gauge

Count

Number of threads in the WAITING state.

jvm.used-memory

Gauge

Bytes

For more information, refer to totalMemory().

API scheduler metrics available in IDM

For example requests, refer to Scheduler metrics.

API Metric Name Type Description

scheduler.job.job-group.job-name.completed

Summary

A summary of completed jobs for the specified job-group and job-name.

scheduler.job.job-group.job-name.executed

Timer

Time spent on executed jobs for the specified job-group and job-name.

scheduler.job-store.repo.operation.scheduler-object

Timer

Time spent storing scheduled jobs in the repository for the specified operation and scheduler-object.

scheduler.trigger.acquired.success

Summary

A summary of successfully acquired jobs.

scheduler.trigger.acquired.timeout

Summary

A summary of acquired jobs that time out.

scheduler.trigger.fired

Summary

A summary of fired schedule triggers.

scheduler.trigger.misfired

Summary

A summary of misfired schedule triggers.

scheduler.trigger.recovered

Timer

Time spent on recovered triggers.

scheduler.type.operation

Timer

Execution rate of scheduler requests for the specified type and operation.

API workflow metrics available in IDM

API Metric Name Type Description

workflow.execution.action.message

Timer

Time spent invoking a message event.

workflow.execution.action.signal

Timer

Time spent invoking a signal event.

workflow.execution.action.trigger

Timer

Time spent triggering an execution.

workflow.execution.query

Timer

Time spent querying executions.

workflow.job.action.execute

Timer

Time spent forcing synchronous execution of a job.

workflow.job.action.stacktrace

Timer

Time spent displaying the stacktrace for a job that triggered an exception.

workflow.job.delete

Timer

Time spent deleting a job.

workflow.job.query

Timer

Time spent querying jobs.

workflow.job.read

Timer

Time spent reading a single job.

workflow.jobdeadletter.action.execute

Timer

Time spent to execute dead-letter job.

workflow.jobdeadletter.action.stacktrace

Timer

Time spent to retrieve the stacktrace for a dead-letter job.

workflow.jobdeadletter.delete

Timer

Time spent to delete a dead letter job.

workflow.jobdeadletter.query

Timer

Time spent to query dead letter jobs.

workflow.jobdeadletter.read

Timer

Time spent to read a dead letter job.

workflow.model.action.deploy

Timer

Time spent to deploy a model.

workflow.model.action.list_deployments

Timer

Time spent to list model deployments.

workflow.model.action.validate_bpmn

Timer

Time spent to validate BPMN content.

workflow.model.create

Timer

Time spent to create a model.

workflow.model.delete

Timer

Time spent to delete a model.

workflow.model.query

Timer

Time spent to query models.

workflow.model.read

Timer

Time spent to read a model.

workflow.model.update

Timer

Time spent to update a model.

workflow.processdefinition.delete

Timer

Time spent to delete a process definition.

workflow.processdefinition.query

Timer

Time spent to query process definitions.

workflow.processdefinition.read

Timer

Time spent to read a process definition.

workflow.processinstance.action.migrate

Timer

Time spent to migrate a process instance.

workflow.processinstance.action.validateMigration

Timer

Time spent to validate a migration of a process instance.

workflow.processinstance.create

Timer

Time spent to create a process instance.

workflow.processinstance.delete

Timer

Time spent to delete a process instance.

workflow.processinstance.query

Timer

Time spent to query process instances.

workflow.processinstance.read

Timer

Time spent to read a process instance.

workflow.taskdefinition.query

Timer

Time spent to query task definitions.

workflow.taskdefinition.read

Timer

Time spent to read a task definition.

workflow.taskinstance.action.complete

Timer

Time spent to complete a task instance.

workflow.taskinstance.query

Timer

Time spent to query task instances.

workflow.taskinstance.read

Timer

Time spent to read a task instance.

workflow.taskinstance.update

Timer

Time spent to update a task instance.