Back to Finagle

Finagle

doc/src/sphinx/metrics/Finagle.rst

6.22.07.6 KB
Original Source

Tracing <<<<<<<

finagle/tracing/sampled A counter for the number of times a positive sampling decision is made on an unsampled trace. A sampling decision is made using a client's configured Tracer, using Tracer#sampleTrace.

Aperture <<<<<<<<

finagle/aperture/coordinate The process global coordinate for the process as sampled by the Aperture implementation.

finagle/aperture/peerset_size A gauge of the size of the services peerset.

FuturePool <<<<<<<<<<

These metrics correspond to the state of FuturePool.unboundedPool and FuturePool.interruptibleUnboundedPool. Only one set of metrics is exported as they share their underlying "thread pool".

finagle/future_pool/pool_size A gauge of the number of threads in the pool.

finagle/future_pool/active_tasks A gauge of the number of tasks actively executing.

finagle/future_pool/completed_tasks A gauge of the number of total tasks that have completed execution.

Push Based Abstractions <<<<<<<<<<<<<<<<<<<<<<<

finagle/push/unhandled_exceptions Family of counters for unhandled exceptions caught by the serial executor.

Scheduler <<<<<<<<<

scheduler/dispatches A gauge of the number of dispatches performed by the com.twitter.concurrent.Scheduler.

scheduler/blocking_ms A gauge of how much time, in milliseconds, the com.twitter.concurrent.Scheduler is spending doing blocking operations on threads that have opted into tracking. Of the built-in Schedulers, this is only enabled for the com.twitter.concurrent.LocalScheduler which is the default Scheduler implementation. Note that this does not include time spent doing blocking code outside of com.twitter.util.Await.result/Await.ready. For example, Future(someSlowSynchronousIO) would not be accounted for in this metric.

OffloadFilter <<<<<<<<<<<<<

These metrics correspond to the state of the offload filter thread pool when configured.

finagle/offload_pool/pool_size A gauge of the number of threads in the pool.

finagle/offload_pool/active_tasks A gauge of the number of tasks actively executing.

finagle/offload_pool/completed_tasks A gauge of the number of total tasks that have completed execution.

finagle/offload_pool/not_offloaded_tasks A counter of how many tasks weren't offloaded because the queue has grown over a proposed limit (set via a flag com.twitter.finagle.offload.queueSize). If a task can't be offloaded it is run the caller thread which is commonly a Netty IO worker.

finagle/offload_pool/queue_depth A Gauge of the number of tasks that are waiting to be executed.

finagle/offload_pool/pending_tasks A histogram reporting the number of pending tasks in the offload queue. For efficiency reasons, this stat is sampled each com.twitter.finagle.offload.statsSampleInterval interval. This stat is only enabled if statsSampleInterval is both positive and finite.

finagle/offload_pool/delay_ms A histogram reporting offloading delay - how long a task has been sitting in the offload queue before it gets executed. For efficiency reasons, this stat is sampled each com.twitter.finagle.offload.statsSampleInterval interval. This stat is only enabled if statsSampleInterval is both positive and finite.

Timer <<<<<

finagle/timer/pending_tasks verbosity:debug A stat of the number of pending tasks to run for the :src:DefaultTimer <com/twitter/finagle/util/DefaultTimer.scala>.

finagle/timer/deviation_ms verbosity:debug A stat of the deviation in milliseconds of tasks scheduled on the :src:DefaultTimer <com/twitter/finagle/util/DefaultTimer.scala> from their expected time.

finagle/timer/slow A counter of the number of tasks found to be executing for longer than 2 seconds.

ClientRegistry <<<<<<<<<<<<<<

finagle/clientregistry/size A gauge of the current number of clients registered in the :src:ClientRegistry <com/twitter/finagle/client/ClientRegistry.scala>.

Name Resolution <<<<<<<<<<<<<<<

inet/dns/queue_size A gauge of the current number of DNS resolutions waiting for lookup in :src:InetResolver <com/twitter/finagle/Resolver.scala>.

inet/dns/dns_lookups A counter of the number of DNS lookups attempted by :src:InetResolver <com/twitter/finagle/Resolver.scala>.

inet/dns/dns_lookup_failures A counter of the number of DNS lookups attempted by :src:InetResolver <com/twitter/finagle/Resolver.scala> and failed.

inet/dns/lookup_ms A histogram of the latency, in milliseconds, of the time to lookup every host (successfully or not) in a com.twitter.finagle.Addr.

inet/dns/successes A counter of the number of com.twitter.finagle.Addr s with at least one resolved host.

inet/dns/failures A counter of the number of com.twitter.finagle.Addr s with no resolved hosts.

inet/dns/cache/size A gauge of the approximate number of cached DNS resolutions in :src:FixedInetResolver <com/twitter/finagle/Resolver.scala>.

inet/dns/cache/evicts A gauge of the number of times a cached DNS resolution has been evicted from :src:FixedInetResolver <com/twitter/finagle/Resolver.scala>.

inet/dns/cache/hit_rate A gauge of the ratio of DNS lookups which were already cached by :src:FixedInetResolver <com/twitter/finagle/Resolver.scala>

Netty 4 <<<<<<<

These metrics are exported from Finagle's underlying transport implementation, the Netty 4 library and available under finagle/netty4 on any instance running Finagle with Netty 4.

pending_io_events A gauge of the number of pending IO events enqueued in all event loops servicing this client or server. If this metric climbs up, it indicates an overload scenario when IO threads are not being able to process the scheduled work (handling new requests and new connections). A very typical cause of these symptoms is either blocking or running a CPU intensive workloads on IO threads.

worker_threads A gauge for the size of the Netty worker pool. This will only reflect EventLoopGroups constructed by Finagle and not those manually created by the application.

pooling/allocations/huge verbosity:debug A gauge of the total number of HUGE direct allocations (i.e., unpooled allocations that exceed the current chunk size).

pooling/allocations/normal verbosity:debug A gauge of the total number of NORMAL direct allocations (i.e., less than a current chunk size).

pooling/allocations/small verbosity:debug A gauge of the total number of SMALL direct allocations (i.e., less than a page size, 8192 bytes).

pooling/allocations/tiny verbosity:debug A gauge of the total number of TINY direct allocations (i.e., less than 512 bytes).

pooling/deallocations/huge verbosity:debug A gauge of the total number of HUGE direct deallocations (i.e., unpooled allocations that exceed the current chunk size).

pooling/deallocations/normal verbosity:debug A gauge of the total number of NORMAL direct deallocations (i.e., less than a chunk size).

pooling/deallocations/small verbosity:debug A gauge of the total number of SMALL direct deallocations (i.e., less than a page size, 8192 bytes).

pooling/deallocations/tiny verbosity:debug A gauge of the total number of TINY direct deallocations (i.e., less than 512 bytes).

pooling/used* verbosity:debug A gauge of the number of bytes used for direct allocations (this includes buffers in the thread-local caches).

reference_leaks A counter of detected reference leaks. See longer note on com.twitter.finagle.netty4.trackReferenceLeaks for details.