OBI exported metrics

Learn about the application, runtime, and network metrics OBI can export.

আপনি এই পৃষ্ঠার ইংরেজি সংস্করণ দেখছেন কারণ এটি এখনও সম্পূর্ণভাবে অনুবাদ করা হয়নি। সাহায্য করতে আগ্রহী? দেখুন Contributing।

The following table shows selected exported metrics in OpenTelemetry and Prometheus format. For the complete v0.15.2 metric definitions, including MCP, GPU, and runtime metrics, see the OBI telemetry catalog.

FamilyName (OTel)Name (Prometheus)TypeUnitDescription
Applicationhttp.client.request.durationhttp_client_request_duration_secondsHistogramsecondsDuration of HTTP service calls from the client side
Applicationhttp.client.request.body.sizehttp_client_request_body_size_bytesHistogrambytesSize of the HTTP request body as sent by the client
Applicationhttp.client.response.body.sizehttp_client_response_body_size_bytesHistogrambytesSize of the HTTP response body as sent by the client
Applicationhttp.server.request.durationhttp_server_request_duration_secondsHistogramsecondsDuration of HTTP service calls from the server side
Applicationhttp.server.request.body.sizehttp_server_request_body_size_bytesHistogrambytesSize of the HTTP request body as received at the server side
Applicationhttp.server.response.body.sizehttp_server_response_body_size_bytesHistogrambytesSize of the HTTP response body as received at the server side
Applicationrpc.client.call.durationrpc_client_call_duration_secondsHistogramsecondsDuration of RPC service calls from the client side
Applicationrpc.server.call.durationrpc_server_call_duration_secondsHistogramsecondsDuration of RPC service calls from the server side
Applicationdb.client.operation.durationdb_client_operation_duration_secondsHistogramsecondsDuration of database client operations (Experimental)
Applicationdb.server.operation.durationdb_server_operation_duration_secondsHistogramsecondsDuration of server-side Redis, Memcached, and SQL operations (Experimental)
Applicationmessaging.client.operation.durationmessaging_client_operation_duration_secondsHistogramsecondsDuration of messaging client operations across supported systems such as Kafka, MQTT, NATS, and AMQP (Experimental)
Applicationmessaging.process.durationmessaging_process_duration_secondsHistogramsecondsDuration of messaging process operations across supported systems such as Kafka, MQTT, NATS, and AMQP (Experimental)
Applicationgen_ai.client.operation.durationgen_ai_client_operation_duration_secondsHistogramsecondsDuration of GenAI client operations (Experimental)
Applicationgen_ai.client.token.usagegen_ai_client_token_usageHistogram1Number of GenAI input/output tokens consumed, labeled by token type (Experimental)
Go runtimego.memory.limitgo_memory_limit_bytesGaugebytesRuntime memory limit configured for an instrumented Go service
Go runtimego.memory.gc.goalgo_memory_gc_goal_bytesGaugebytesCurrent garbage-collection heap goal
Go runtimego.memory.gc.cyclesgo_memory_gc_cycles_totalCountercyclesCompleted Go garbage-collection cycles
Go runtimego.memory.gc.pause.durationgo_memory_gc_pause_duration_secondsHistogramsecondsCumulative stop-the-world garbage-collection pause durations
Go runtimego.memory.usedgo_memory_used_bytesGaugebytesMemory used by stack and other runtime memory categories
Go runtimego.memory.allocatedgo_memory_allocated_bytes_totalCounterbytesCumulative allocated heap bytes
Go runtimego.memory.allocationsgo_memory_allocations_totalCounterallocationsCumulative heap allocation count
Go runtimego.cpu.timego_cpu_time_seconds_totalCountersecondsCumulative runtime CPU time by state
Go runtimego.goroutine.countgo_goroutine_countGaugegoroutinesCurrent goroutine count
Go runtimego.processor.limitgo_processor_limitGaugethreadsCurrent GOMAXPROCS value
Go runtimego.config.gogcgo_config_gogc_percentGaugepercentCurrent GOGC heap target percentage
Go runtimego.schedule.durationgo_schedule_duration_secondsHistogramsecondsCumulative runnable-to-running goroutine latency
JVM runtimejvm.memory.usedjvm_memory_used_bytesGaugebytesCurrent JVM memory used, labeled by memory type and pool
JVM runtimejvm.memory.committedjvm_memory_committed_bytesGaugebytesCurrent JVM memory committed, labeled by memory type and pool
JVM runtimejvm.memory.limitjvm_memory_limit_bytesGaugebytesCurrent JVM memory limit, labeled by memory type and pool
JVM runtimejvm.memory.used_after_last_gcjvm_memory_used_after_last_gc_bytesGaugebytesJVM memory used after the last garbage collection
.NET runtimedotnet.process.cpu.countdotnet_process_cpu_countUpDownCounterCPUsRuntime processor count, including processor-count overrides, container quota, and affinity
.NET runtimedotnet.process.cpu.timedotnet_process_cpu_time_seconds_totalCountersecondsProcess CPU time, labeled by cpu.mode as user or system
.NET runtimedotnet.gc.last_collection.heap.sizedotnet_gc_last_collection_heap_size_bytesUpDownCounterbytesHeap size after the latest collection, including fragmentation, labeled by heap generation
Node runtimenodejs.eventloop.timenodejs_eventloop_time_seconds_totalCountersecondsCumulative event-loop time, labeled as idle or active
Node runtimenodejs.eventloop.utilizationnodejs_eventloop_utilization_ratioGauge1Active share of the event loop during the last sampling interval
Node runtimenodejs.eventloop.delay.minnodejs_eventloop_delay_min_secondsGaugesecondsMinimum event-loop delay during the last sampling interval
Node runtimenodejs.eventloop.delay.maxnodejs_eventloop_delay_max_secondsGaugesecondsMaximum event-loop delay during the last sampling interval
Node runtimenodejs.eventloop.delay.meannodejs_eventloop_delay_mean_secondsGaugesecondsMean event-loop delay during the last sampling interval
Node runtimenodejs.eventloop.delay.stddevnodejs_eventloop_delay_stddev_secondsGaugesecondsStandard deviation of event-loop delay during the last sampling interval
Node runtimenodejs.eventloop.delay.p50nodejs_eventloop_delay_p50_secondsGaugeseconds50th percentile event-loop delay during the last sampling interval
Node runtimenodejs.eventloop.delay.p90nodejs_eventloop_delay_p90_secondsGaugeseconds90th percentile event-loop delay during the last sampling interval
Node runtimenodejs.eventloop.delay.p99nodejs_eventloop_delay_p99_secondsGaugeseconds99th percentile event-loop delay during the last sampling interval
Networkobi.network.flow.bytesobi_network_flow_bytes_totalCounterbytesBytes submitted from a source network endpoint to a destination network endpoint
Networkobi.network.flow.packetsobi_network_flow_packets_totalCounterpacketsPackets observed from a source network endpoint to a destination network endpoint
Networkobi.network.inter.zone.bytesobi_network_inter_zone_bytes_totalCounterbytesBytes flowing between cloud availability zones in your cluster (Experimental, currently only available in Kubernetes)
Networkobi.stat.tcp.rttobi_stat_tcp_rtt_secondsHistogramsecondsTCP round-trip time (RTT) latency observed between network endpoints (StatsO11y)
Networkobi.stat.tcp.failed.connectionsobi_stat_tcp_failed_connections_totalCounter1Failed TCP connection attempts between endpoints, labeled by failure reason (StatsO11y)
Networkobi.stat.tcp.retransmitsobi_stat_tcp_retransmits_totalCounter1TCP retransmissions observed per connection (StatsO11y)
Networkobi.stat.tcp.ioobi_stat_tcp_io_bytes_totalCounterbytesBytes transferred at the socket layer per TCP connection and I/O direction (StatsO11y)

The .NET processor-count and heap-size instruments use UpDownCounters in OTLP and gauges in Prometheus.

OBI can also export Span metrics and Service graph metrics, which you can enable via the features configuration option.

Starting with v0.14.0, the application feature includes the HTTP body-size histograms. Use application_red instead if you only want RED metrics, or combine application_red and application_sizes in the same feature list. See metrics export features.

HTTP duration and body-size metrics now include error.type on failed requests by default. Their Prometheus series have an error_type label, with an empty value for successful requests. Update dashboards and alerts that match the old series. OTLP span metrics no longer put host.id on each data point; it remains on the resource and in target_info. OBI’s Prometheus exporter is unaffected.

Starting with v0.15.2, database duration metrics include db.collection.name by default. RPC client duration includes server.port, and failed RPC server duration includes error.type. Messaging duration metrics can also split by operation type and subscription name. MQTT SUBSCRIBE uses a subscription name instead of a destination name. Review these dimensions when estimating cardinality or updating existing queries.

The new ring-buffer counters in Internal metrics are also available through OTLP as obi.bpf.ringbuf.writes and obi.bpf.ringbuf.write.failures.

Attributes of OBI metrics

For the sake of brevity, the metrics and attributes in this list use the OTel dot.notation. When using the Prometheus exporter, the metrics use underscore_notation.

In order to configure which attributes to show or which attributes to hide, check the attributes->select section in the configuration documentation.

MetricsNameDefault
Application (all)http.request.methodshown
Application (all)http.response.status_codeshown
Application (all)http.routeshown if routes configuration section exists
Application (all)k8s.daemonset.nameshown if Kubernetes metadata is enabled
Application (all)k8s.deployment.nameshown if Kubernetes metadata is enabled
Application (all)k8s.namespace.nameshown if Kubernetes metadata is enabled
Application (all)k8s.node.nameshown if Kubernetes metadata is enabled
Application (all)k8s.owner.nameshown if Kubernetes metadata is enabled
Application (all)k8s.pod.nameshown if Kubernetes metadata is enabled
Application (all)k8s.container.nameshown if Kubernetes metadata is enabled
Application (all)k8s.pod.start_timeshown if Kubernetes metadata is enabled
Application (all)k8s.pod.uidshown if Kubernetes metadata is enabled
Application (all)k8s.replicaset.nameshown if Kubernetes metadata is enabled
Application (all)k8s.statefulset.nameshown if Kubernetes metadata is enabled
Application (all)k8s.cluster.nameshown if Kubernetes metadata is enabled
Application (all)container.idshown if Docker metadata is enabled
Application (all)container.nameshown if Docker metadata is enabled
Application (all)cloud.providershown if cloud metadata is enabled
Application (all)cloud.platformshown if cloud metadata is enabled
Application (all)cloud.regionshown if cloud metadata is enabled
Application (all)cloud.account.idshown if cloud metadata is enabled
Application (all)cloud.availability_zoneshown if cloud metadata is enabled
Application (all)cloud.resource_idshown if cloud metadata is enabled (Azure only)
Application (all)host.idshown if cloud metadata is enabled
Application (all)host.typeshown if cloud metadata is enabled
Application (all)host.image.idshown if cloud metadata is enabled (AWS only)
Application (all)gcp.gce.instance.nameshown if cloud metadata is enabled (GCP only)
Application (all)gcp.gce.instance.hostnameshown if cloud metadata is enabled (GCP only)
Application (all)service.nameshown
Application (all)service.namespaceshown
Application (all)target.instanceshown
Application (all)url.pathhidden
Application (client)server.addresshidden
Application (client)server.porthidden
Application rpc.*rpc.response.status_codeshown
Application rpc.*rpc.methodshown
Application rpc.*rpc.system.nameshown
rpc.client.call.durationserver.portshown
rpc.server.call.durationerror.typeshown on failed requests
Application (server)client.addresshidden
obi.network.flow.bytesobi.iphidden
db.client.operation.durationdb.operation.nameshown
db.client.operation.durationdb.collection.nameshown
db.server.operation.durationdb.operation.nameshown
db.server.operation.durationdb.collection.nameshown
messaging.client.operation.durationmessaging.systemshown
messaging.client.operation.durationmessaging.destination.nameshown
messaging.client.operation.durationmessaging.operation.typeshown
messaging.client.operation.durationmessaging.destination.subscription.nameshown when present
messaging.process.durationmessaging.systemshown
messaging.process.durationmessaging.destination.nameshown
messaging.process.durationmessaging.destination.subscription.nameshown when present
obi.network.flow.bytesclient.porthidden
obi.network.flow.bytesdirectionshown
obi.network.flow.bytesdst.addresshidden
obi.network.flow.bytesdst.cidrshown if the cidrs configuration section exists
obi.network.flow.bytesdst.namehidden
obi.network.flow.bytesdst.porthidden
obi.network.flow.bytesdst.zone (only Kubernetes)hidden
obi.network.flow.bytesifacehidden
obi.network.flow.bytesk8s.cluster.nameshown if Kubernetes is enabled
obi.network.flow.bytesk8s.dst.namehidden
obi.network.flow.bytesk8s.dst.namespaceshown if Kubernetes is enabled
obi.network.flow.bytesk8s.dst.node.iphidden
obi.network.flow.bytesk8s.dst.node.namehidden
obi.network.flow.bytesk8s.dst.owner.typeshown if Kubernetes is enabled
obi.network.flow.bytesk8s.dst.typehidden
obi.network.flow.bytesk8s.dst.owner.nameshown if Kubernetes is enabled
obi.network.flow.bytesk8s.src.namehidden
obi.network.flow.bytesk8s.src.namespaceshown if Kubernetes is enabled
obi.network.flow.bytesk8s.src.node.iphidden
obi.network.flow.bytesk8s.src.owner.nameshown if Kubernetes is enabled
obi.network.flow.bytesk8s.src.owner.typeshown if Kubernetes is enabled
obi.network.flow.bytesk8s.src.typehidden
obi.network.flow.bytesserver.porthidden
obi.network.flow.bytessrc.addresshidden
obi.network.flow.bytessrc.cidrshown if the cidrs configuration section exists
obi.network.flow.bytessrc.namehidden
obi.network.flow.bytessrc.porthidden
obi.network.flow.bytessrc.zone (only Kubernetes)hidden
obi.network.flow.bytestransporthidden
obi.network.flow.bytesnetwork.typehidden
obi.network.flow.bytesnetwork.protocol.namehidden
obi.network.flow.bytessrc.countryshown if the geoip configuration section exists
obi.network.flow.bytessrc.asnshown if the geoip configuration section exists
obi.network.flow.bytesdst.countryshown if the geoip configuration section exists
obi.network.flow.bytesdst.asnshown if the geoip configuration section exists
obi.stat.tcp.rttobi.iphidden
obi.stat.tcp.rttsrc.addresshidden
obi.stat.tcp.rttdst.addresshidden
obi.stat.tcp.rttsrc.porthidden
obi.stat.tcp.rttdst.porthidden
obi.stat.tcp.rttsrc.namehidden
obi.stat.tcp.rttdst.namehidden
obi.stat.tcp.rttsrc.zonehidden
obi.stat.tcp.rttdst.zonehidden
obi.stat.tcp.rttnetwork.tcp.handshake.rolehidden
obi.stat.tcp.failed.connectionsobi.iphidden
obi.stat.tcp.failed.connectionssrc.addresshidden
obi.stat.tcp.failed.connectionsdst.addresshidden
obi.stat.tcp.failed.connectionssrc.porthidden
obi.stat.tcp.failed.connectionsdst.porthidden
obi.stat.tcp.failed.connectionssrc.namehidden
obi.stat.tcp.failed.connectionsdst.namehidden
obi.stat.tcp.failed.connectionssrc.zonehidden
obi.stat.tcp.failed.connectionsdst.zonehidden
obi.stat.tcp.failed.connectionsreasonhidden
obi.stat.tcp.failed.connectionsnetwork.tcp.handshake.rolehidden
obi.stat.tcp.retransmitsSource/destination address, port, name, and zone attributeshidden
obi.stat.tcp.ioSource/destination address, port, name, and zone attributeshidden
obi.stat.tcp.ionetwork.io.directionshown
Traces (HTTP)url.queryshown when a query string exists
Traces (GraphQL)graphql.documenthidden
Traces (SQL, Redis)db.query.texthidden

Internal metrics

OBI can be configured to report internal metrics in Prometheus Format.

NameTypeDescription
obi_ebpf_tracer_flushesHistogramLength of the groups of traces flushed from the eBPF tracer to the next pipeline stage
obi_otel_metric_exports_totalCounterLength of the metric batches submitted to the remote OTel collector
obi_otel_metric_export_errors_totalCounterVecError count on each failed OTel metric export, by error type
obi_otel_trace_exports_totalCounterLength of the trace batches submitted to the remote OTel collector
obi_otel_trace_export_errors_totalCounterVecError count on each failed OTel trace export, by error type
obi_prometheus_http_requests_totalCounterVecNumber of requests towards the Prometheus Scrape endpoint, faceted by HTTP port and path
obi_bpf_network_ignored_packets_totalCounterNumber of network packets dropped by OBI network filters before flow accounting
obi_bpf_ringbuf_writes_totalCounterVecAttempted writes to each ring buffer, labeled by bpf_map_name
obi_bpf_ringbuf_write_failures_totalCounterVecWrites that failed because the ring buffer was full, labeled by bpf_map_name
obi_instrumented_processesGaugeVecInstrumented processes by OBI, with process name
obi_internal_build_infoGaugeVecVersion information of the OBI binary, including the build time and commit hash
obi_avoided_servicesGaugeVecServices for which OBI suppressed telemetry after detecting OpenTelemetry SDK export

সর্বশেষ পরিবর্তিত October 21, 2026: Update OBI documentation for v0.15.2 (#11930) (4cc5cb83)