Skip to content

Metrics

This page documents all metrics emitted by IdentityScribe. Metric names use OTel dot notation (e.g., scribe.channel.requests.total) which is auto-converted to Prometheus underscore notation for scraping.

Static application information gauge (always 1). Labels contain name, vendor, and version. Use for deployment inventory dashboards.

PropertyValue
Prometheusscribe_info
TypeGauge
Unitunitless

Configured query concurrency limit. Maximum concurrent queries allowed. Compare with inflight metrics for utilization.

PropertyValue
Prometheusscribe_concurrency
TypeGauge
Unitunitless

License expiration timestamp (Unix epoch seconds). Monitor for upcoming license renewals. Value of 0 indicates no license or perpetual.

PropertyValue
Prometheusscribe_license_expiration
TypeGauge
Unitseconds

Aggregate active DB connections across all pools. Used for scheduling thresholds and capacity planning.

PropertyValue
Prometheusscribe_db_connections_active
TypeGauge
Unitconnections

Aggregate pending DB connections (threads waiting) across all pools. Non-zero values indicate connection pool exhaustion.

PropertyValue
Prometheusscribe_db_connections_pending
TypeGauge
Unitconnections

Aggregate active LDAP connections across all hosts. Used for scheduling thresholds and upstream load tracking.

PropertyValue
Prometheusscribe_ldap_connections_active
TypeGauge
Unitconnections

DB connection pool pressure (active / max) across all pools. Measures utilization of database connection pools. High values (>0.8) indicate potential connection exhaustion. (0.0 to 1.0)

PropertyValue
Prometheusscribe_db_pool_pressure
TypeGauge
Unitratio

JVM memory pressure (used / max heap). Measures heap utilization. Sustained high values (>0.9) may indicate memory pressure. (0.0 to 1.0)

PropertyValue
Prometheusjvm_memory_pressure
TypeGauge
Unitratio

JVM thread count. Current number of live threads.

PropertyValue
Prometheusjvm_thread_count
TypeGauge
Unitthreads

JVM CPU count. Number of processors available to the JVM.

PropertyValue
Prometheusjvm_cpu_count
TypeGauge
Unitcpus

Process uptime in seconds.

PropertyValue
Prometheusprocess_uptime_seconds
TypeGauge
Unitseconds

Query rejected count in 5-minute window. Queries rejected due to permit exhaustion. Non-zero values indicate overload.

PropertyValue
Prometheusscribe_query_rejected_5m
TypeGauge
Unitqueries

Service restarts in 5-minute window. Internal service (ingest, maintenance) restarts. Frequent restarts indicate instability.

PropertyValue
Prometheusscribe_service_restarts_5m
TypeGauge
Unitrestarts

Hints dropped in 5-minute window. Query hints dropped due to queue saturation.

PropertyValue
Prometheusscribe_hints_dropped_5m
TypeGauge
Unithints

Channel request latency p95 (aggregate, 5-minute window). 95th percentile response time across all channels.

PropertyValue
Prometheusscribe_signals_latency_p95
TypeGauge
Unitseconds

Channel requests per second (aggregate, 5-minute window). Request rate across all channels.

PropertyValue
Prometheusscribe_signals_requests_per_second
TypeGauge
Unitrequests/second

Traffic ratio vs baseline (aggregate). Current request rate divided by adaptive baseline. Values >2 indicate traffic spike.

PropertyValue
Prometheusscribe_signals_traffic_ratio
TypeGauge
Unitratio

Channel error rate percentage (aggregate, 5-minute window). Percentage of requests that resulted in errors. (0-100)

PropertyValue
Prometheusscribe_signals_error_rate_percent
TypeGauge
Unitpercent

Ingest task duration p95 (aggregate, 5-minute window). 95th percentile ingest task processing time.

PropertyValue
Prometheusscribe_signals_ingest_task_duration_p95
TypeGauge
Unitseconds

Maximum ingest replication lag across all entry types. Time since last sync from upstream. High values indicate sync backlog.

PropertyValue
Prometheusscribe_signals_ingest_lag_max_seconds
TypeGauge
Unitseconds

Ingest changes per second (aggregate, 5-minute window). Rate of change detection from upstream.

PropertyValue
Prometheusscribe_signals_ingest_changes_per_second
TypeGauge
Unitchanges/second

Ingest events per second (aggregate, 5-minute window). Rate of events written to store.

PropertyValue
Prometheusscribe_signals_ingest_events_per_second
TypeGauge
Unitevents/second

Ingest task failure rate percentage (aggregate, 5-minute window). Percentage of ingest tasks that failed (per task, not per change). (0-100)

PropertyValue
Prometheusscribe_signals_ingest_failed_rate_percent
TypeGauge
Unitpercent

Channel request latency p95 by channel.

PropertyValue
Prometheusscribe_signals_channel_latency_p95
TypeGauge
Unitseconds
Dimensionschannel

scribe.signals.channel.requests.per.second

Section titled “scribe.signals.channel.requests.per.second”

Channel requests per second by channel.

PropertyValue
Prometheusscribe_signals_channel_requests_per_second
TypeGauge
Unitrequests/second
Dimensionschannel

Channel error rate percentage by channel. (0-100)

PropertyValue
Prometheusscribe_signals_channel_error_rate_percent
TypeGauge
Unitpercent
Dimensionschannel

scribe.signals.ingest.entry.task.duration.p95

Section titled “scribe.signals.ingest.entry.task.duration.p95”

Ingest task duration p95 by entry type.

PropertyValue
Prometheusscribe_signals_ingest_entry_task_duration_p95
TypeGauge
Unitseconds
Dimensionsentry_type

scribe.signals.ingest.entry.changes.per.second

Section titled “scribe.signals.ingest.entry.changes.per.second”

Ingest changes per second by entry type.

PropertyValue
Prometheusscribe_signals_ingest_entry_changes_per_second
TypeGauge
Unitchanges/second
Dimensionsentry_type

scribe.signals.ingest.entry.events.per.second

Section titled “scribe.signals.ingest.entry.events.per.second”

Ingest events per second by entry type.

PropertyValue
Prometheusscribe_signals_ingest_entry_events_per_second
TypeGauge
Unitevents/second
Dimensionsentry_type

scribe.signals.ingest.entry.failed.rate.percent

Section titled “scribe.signals.ingest.entry.failed.rate.percent”

Ingest task failure rate percentage by entry type. (0-100)

PropertyValue
Prometheusscribe_signals_ingest_entry_failed_rate_percent
TypeGauge
Unitpercent
Dimensionsentry_type

Ingest replication lag by entry type.

PropertyValue
Prometheusscribe_signals_ingest_entry_lag_seconds
TypeGauge
Unitseconds
Dimensionsentry_type

Total connections established to protocol channels. Counts new connections (not requests).

PropertyValue
Prometheusscribe_channel_connections_total
TypeCounter
Unitconnections
Dimensionschannel, scribe.socket

Current number of active connections. Open client connections across all channels.

PropertyValue
Prometheusscribe_channel_connections_active
TypeGauge
Unitconnections
Dimensionschannel, scribe.socket

Total requests forwarded to upstream directory. Requests that could not be served locally.

PropertyValue
Prometheusscribe_channel_forwarded_total
TypeCounter
Unitrequests
Dimensionschannel, op

Total requests received across all protocol channels. Incremented at the end of each request regardless of outcome. Filter by the result dimension to separate successful from failed requests.

PropertyValue
Prometheusscribe_channel_requests_total
TypeCounter
Unitrequests
Dimensionschannel, op, result

Duration of request processing in seconds. Measures wall-clock time from request receipt to response completion. Use percentiles (p50, p95, p99) for latency SLOs.

PropertyValue
Prometheusscribe_channel_request_duration_seconds
TypeHistogram
Unitseconds
Dimensionschannel, op, result

Current number of in-flight requests. Useful for detecting request queuing and concurrency limits. A sustained high value may indicate resource exhaustion.

PropertyValue
Prometheusscribe_channel_inflight
TypeUpDownCounter
Unitrequests
Dimensionschannel

Current number of hints in the persistence queue. Hints are query patterns used for index recommendations. A growing queue indicates high query diversity.

PropertyValue
Prometheusscribe_hints_queue_size
TypeGauge
Unitunitless

Total hints dropped due to queue overflow. Indicates the hint queue is saturated. Consider increasing queue capacity if dropping frequently.

PropertyValue
Prometheusscribe_hints_queue_dropped_total
TypeCounter
Unitunitless

Total hints successfully persisted. Counts query patterns saved for analysis.

PropertyValue
Prometheusscribe_hints_persisted_total
TypeCounter
Unitunitless

Total hints excluded by persistence rules. Counts hints that matched an exclude rule and were not persisted to database. These hints are still emitted via metrics and logs.

PropertyValue
Prometheusscribe_hints_excluded_total
TypeCounter
Unitunitless
Dimensionshint_type

Total queries that used an index effectively. Filter by category and attribute dimensions.

PropertyValue
Prometheusscribe_hints_index_usage_total
TypeCounter
Unitunitless
Dimensionscategory, attribute

Total index recommendations generated. Missing indexes detected from query patterns.

PropertyValue
Prometheusscribe_hints_index_recommendation_total
TypeCounter
Unitunitless
Dimensionscategory, attribute

Total queries that triggered sequential scans. Queries without suitable index support. Consider adding indexes for frequent patterns.

PropertyValue
Prometheusscribe_hints_index_seqscan_total
TypeCounter
Unitunitless
Dimensionscategory, attribute

Total sequential scan hints suppressed due to fast query with no actionable diagnosis.

PropertyValue
Prometheusscribe_hints_seqscan_suppressed_total
TypeCounter
Unitunitless

Current replication lag in seconds per entry type. Time since the last change from the upstream directory was processed. High lag indicates slow synchronization or upstream issues.

PropertyValue
Prometheusscribe_ingest_lag_seconds
TypeGauge
Unitseconds
Dimensionsentry_type

Current ingest queue utilization ratio (0.0 to 1.0). Ratio of pending changes to queue capacity. Values near 1.0 indicate change processing cannot keep up.

PropertyValue
Prometheusscribe_ingest_queue_pressure
TypeGauge
Unitunitless
Dimensionsentry_type

Current ingest task slot utilization ratio (0.0 to 1.0). Ratio of active ingest tasks to maximum allowed. High values indicate heavy synchronization activity.

PropertyValue
Prometheusscribe_ingest_task_pressure
TypeGauge
Unitunitless
Dimensionsentry_type

Total directory changes detected from upstream. Counts add, modify, delete, and move events. Filter by entry_type and event_type dimensions.

PropertyValue
Prometheusscribe_ingest_changes_total
TypeCounter
Unitevents
Dimensionsentry_type, event_type

Total change events successfully written to the store. Difference between detected changes and written events indicates filtered or deduplicated entries.

PropertyValue
Prometheusscribe_ingest_events_written_total
TypeCounter
Unitevents
Dimensionsentry_type, event_type

Current number of active ingest tasks. Tasks process batches of directory changes. A sustained high value indicates heavy sync load.

PropertyValue
Prometheusscribe_ingest_tasks_active
TypeGauge
Unittasks
Dimensionsentry_type

Current number of throttled ingest tasks. Tasks paused due to rate limiting or backpressure. Non-zero values indicate the system is self-regulating.

PropertyValue
Prometheusscribe_ingest_tasks_throttled
TypeGauge
Unittasks
Dimensionsentry_type

Total ingest tasks started. Compare with failed total to calculate success rate.

PropertyValue
Prometheusscribe_ingest_tasks_total
TypeCounter
Unittasks
Dimensionsentry_type

Total ingest tasks that failed. Includes retryable and non-retryable failures. Check logs for failure details.

PropertyValue
Prometheusscribe_ingest_tasks_failed_total
TypeCounter
Unittasks
Dimensionsentry_type

Duration of ingest task execution. Time to process a batch of changes including DB writes. High durations may indicate database performance issues.

PropertyValue
Prometheusscribe_ingest_task_duration_seconds
TypeHistogram
Unitseconds
Dimensionsentry_type

Time spent waiting due to throttling. Cumulative delay from rate limiting. Monitors the cost of backpressure.

PropertyValue
Prometheusscribe_ingest_throttle_wait_seconds
TypeHistogram
Unitseconds
Dimensionsentry_type

Total entries skipped because they were unchanged. Directory reported a change but entry content was identical. High values may indicate noisy upstream notifications.

PropertyValue
Prometheusscribe_ingest_unchanged_total
TypeCounter
Unitentries
Dimensionsentry_type

Total entries skipped due to filter rules. Entries excluded by transcribe configuration filters.

PropertyValue
Prometheusscribe_ingest_skipped_total
TypeCounter
Unitentries
Dimensionsentry_type

Total times ingest was blocked waiting for queue capacity. Indicates queue saturation events. Frequent blocking suggests increasing queue size.

PropertyValue
Prometheusscribe_ingest_queue_blocked_total
TypeCounter
Unitevents
Dimensionsentry_type

Time spent waiting for queue capacity. Measures blocking delay when queues are full.

PropertyValue
Prometheusscribe_ingest_queue_wait_seconds
TypeHistogram
Unitseconds
Dimensionsentry_type

Duration of maintenance operations. Periodic cleanup tasks like vacuuming and statistics refresh.

PropertyValue
Prometheusscribe_maintenance_duration_seconds
TypeHistogram
Unitseconds

Total maintenance operations that failed. Check logs for failure reasons.

PropertyValue
Prometheusscribe_maintenance_failed_total
TypeCounter
Unitunitless

Duration of individual query pipeline stages. Helps identify which stage is the bottleneck (parse, normalize, plan, compile, execute, map, encode). Filter by stage dimension for per-stage analysis.

PropertyValue
Prometheusscribe_query_stage_duration_seconds
TypeHistogram
Unitseconds
Dimensionschannel, stage

Total queries by shape classification. Tracks query patterns: base lookups, list queries, paginated queries. Useful for understanding query workload characteristics.

PropertyValue
Prometheusscribe_query_shapes_total
TypeCounter
Unitrequests
Dimensionschannel, shape

Current query permit utilization ratio (0.0 to 1.0). Indicates how close the system is to query concurrency limits. Values approaching 1.0 suggest imminent query rejection.

PropertyValue
Prometheusscribe_query_permit_pressure
TypeGauge
Unitunitless

Number of threads waiting to acquire query permits. Indicates queuing pressure. High values suggest queries are waiting longer than expected for permits. Monitor alongside permit_pressure to understand concurrency bottlenecks.

PropertyValue
Prometheusscribe_query_permit_queue
TypeGauge
Unitthreads

Total queries rejected due to resource limits. Indicates backpressure is being applied. Check result dimension for rejection reason (resource_exhausted, deadline_exceeded, etc.).

PropertyValue
Prometheusscribe_query_rejected_total
TypeCounter
Unitrequests
Dimensionschannel, result

scribe.reconciliation.entries.verified.total

Section titled “scribe.reconciliation.entries.verified.total”

Total entries verified during reconciliation. Full-sync operations compare cached entries with upstream.

PropertyValue
Prometheusscribe_reconciliation_entries_verified_total
TypeCounter
Unitentries
Dimensionsentry_type

scribe.reconciliation.entries.deleted.total

Section titled “scribe.reconciliation.entries.deleted.total”

Total stale entries deleted during reconciliation. Entries that exist locally but not upstream are removed.

PropertyValue
Prometheusscribe_reconciliation_entries_deleted_total
TypeCounter
Unitentries
Dimensionsentry_type

Duration of reconciliation operations. Full-sync duration depends on entry count and upstream latency.

PropertyValue
Prometheusscribe_reconciliation_duration_seconds
TypeHistogram
Unitseconds
Dimensionsentry_type

Total segments that exceeded the leak detection threshold. Indicates potential resource leaks in span tracking. Investigate if this counter increases.

PropertyValue
Prometheusscribe_telemetry_segment_leaks_total
TypeCounter
Unitunitless

scribe.telemetry.segment.leaks.ended_after.total

Section titled “scribe.telemetry.segment.leaks.ended_after.total”

Total leaked segments that eventually ended (post-leak closure). Segments closed after being flagged as leaks. Useful for distinguishing true leaks from slow operations.

PropertyValue
Prometheusscribe_telemetry_segment_leaks_ended_after_total
TypeCounter
Unitunitless

Total restarts of internal services. Counts automatic recovery attempts. Frequent restarts indicate instability.

PropertyValue
Prometheusscribe_service_restarts_total
TypeCounter
Unitunitless
Dimensionsservice

Current service health status (1=up, 0=down). Use for availability dashboards and alerts. A value of 0 indicates the service is not running.

PropertyValue
Prometheusscribe_service_up
TypeGauge
Unitunitless
Dimensionsservice

Total service state transitions. Counts state changes like starting, running, stopping. Filter by from and to dimensions.

PropertyValue
Prometheusscribe_service_transitions_total
TypeCounter
Unitunitless
Dimensionsservice, from, to

scribe.service.transition.duration.seconds

Section titled “scribe.service.transition.duration.seconds”

Duration of service state transitions. Time spent transitioning between states. Long transitions may indicate initialization issues.

PropertyValue
Prometheusscribe_service_transition_duration_seconds
TypeHistogram
Unitseconds
Dimensionsservice, from, to

Duration of store commit operations. Time to persist changes to the database. Spikes may indicate transaction contention.

PropertyValue
Prometheusscribe_store_commit_duration_seconds
TypeHistogram
Unitseconds
Dimensionsentry_type

Time spent waiting for commit lock. Serialization delay when multiple writers contend. High values suggest commit throughput bottleneck.

PropertyValue
Prometheusscribe_store_commit_wait_duration_seconds
TypeHistogram
Unitseconds
Dimensionsentry_type

These are standard OTel runtime metrics. See OTel Semantic Conventions for details.

PropertyValue
Prometheusjvm_memory_used
PropertyValue
Prometheusjvm_memory_committed
PropertyValue
Prometheusjvm_memory_limit
PropertyValue
Prometheusjvm_memory_pressure
PropertyValue
Prometheusjvm_thread_count
PropertyValue
Prometheusjvm_cpu_count
PropertyValue
Prometheusprocess_uptime