====== Metrics ======
It is possible to enable metrics on Blocks, which will log additional information on a regular basis as Blocks runs. This may occasionally be useful in troubleshootingsome extreme situations, but should normally not be left enabled on a production server.
Most of the details provided by these metrics are internal, and of little or no value to anyone but PIXILAB. So in general you should not configure metrics unless instructed and then provide the resulting log to PIXILAB for further analysis.
To enable metrics, add the following to Blocks' configuration file:
metrics:
frequency: 1 minute
reporters:
- type: log
logger: metrics
includes:
- "io.dropwizard.jetty.MutableServletContextHandler.get-requests"
- "io.dropwizard.jetty.MutableServletContextHandler.post-requests"
- org.eclipse.jetty.util.thread.QueuedThreadPool.dw.jobs
- jvm.memory.total.used
- pixi.cortex.backlog.now
- pixi.cortex.backlog.peak
- pixi.cortex.synapse
- pixi.cortex.receptors
- pixi.cortex.sharedSingleExecutorQueue
- pixi.cortex.sharedMultiExecutorQueue
- pixi.cortex.MobileSpot.connected.Mob1
Furthermore, you must enable the metrics logger under logging in the config file:
logging:
level: WARN
loggers:
metrics: INFO # To actually log metrics data
===== Metrics Available =====
Specify which metrics to include under //include// in the metrics configuration section. The following Blocks-specific metrics are available:
* **pixi.cortex.backlog.now** Current backlog. A large or increasing value here may indicate server overload.
* **pixi.cortex.backlog.peak** Peak backlog since last server start.
* **pixi.cortex.synapse** Total number of synapses propcessed, as well as the name of any currently executing synapse.
* **pixi.cortex.receptors** Current number of neuron connections, indicating the complexity of your system.
* **pixi.cortex.sharedSingleExecutorQueue** Tasks waiting for the sharedSingleExecutor
* **pixi.cortex.sharedMultiExecutorQueue** Tasks waiting for the sharedMultiExecutor
* **pixi.cortex.MobileSpot.connected.Mob1** Number of connected Visitor spots, sith the last segment(s) (here "Mob1")= being the dot-separated Spot path.
In addition to those, you can also use any metric provided by Blocks' infrastructure, such as those listed below. Refer to the respective infrastructure component for details.
ch.qos.logback.core.Appender.all
ch.qos.logback.core.Appender.debug
ch.qos.logback.core.Appender.error
ch.qos.logback.core.Appender.info
ch.qos.logback.core.Appender.trace
ch.qos.logback.core.Appender.warn
io.dropwizard.jetty.MutableServletContextHandler.1xx-responses
io.dropwizard.jetty.MutableServletContextHandler.2xx-responses
io.dropwizard.jetty.MutableServletContextHandler.3xx-responses
io.dropwizard.jetty.MutableServletContextHandler.4xx-responses
io.dropwizard.jetty.MutableServletContextHandler.5xx-responses
io.dropwizard.jetty.MutableServletContextHandler.active-dispatches
io.dropwizard.jetty.MutableServletContextHandler.active-requests
io.dropwizard.jetty.MutableServletContextHandler.active-suspended
io.dropwizard.jetty.MutableServletContextHandler.async-dispatches
io.dropwizard.jetty.MutableServletContextHandler.async-timeouts
io.dropwizard.jetty.MutableServletContextHandler.connect-requests
io.dropwizard.jetty.MutableServletContextHandler.delete-requests
io.dropwizard.jetty.MutableServletContextHandler.dispatches
io.dropwizard.jetty.MutableServletContextHandler.get-requests
io.dropwizard.jetty.MutableServletContextHandler.head-requests
io.dropwizard.jetty.MutableServletContextHandler.move-requests
io.dropwizard.jetty.MutableServletContextHandler.options-requests
io.dropwizard.jetty.MutableServletContextHandler.other-requests
io.dropwizard.jetty.MutableServletContextHandler.percent-4xx-15m
io.dropwizard.jetty.MutableServletContextHandler.percent-4xx-1m
io.dropwizard.jetty.MutableServletContextHandler.percent-4xx-5m
io.dropwizard.jetty.MutableServletContextHandler.percent-5xx-15m
io.dropwizard.jetty.MutableServletContextHandler.percent-5xx-1m
io.dropwizard.jetty.MutableServletContextHandler.percent-5xx-5m
io.dropwizard.jetty.MutableServletContextHandler.post-requests
io.dropwizard.jetty.MutableServletContextHandler.put-requests
io.dropwizard.jetty.MutableServletContextHandler.requests
io.dropwizard.jetty.MutableServletContextHandler.trace-requests
jersey-client-blocks.created
jersey-client-blocks.running
jersey-client-blocks.terminated
jvm.attribute.name
jvm.attribute.uptime
jvm.attribute.vendor
jvm.buffers.direct.capacity
jvm.buffers.direct.count
jvm.buffers.direct.used
jvm.buffers.mapped.capacity
jvm.buffers.mapped.count
jvm.buffers.mapped.used
jvm.classloader.loaded
jvm.classloader.unloaded
jvm.filedescriptor
jvm.gc.G1-Old-Generation.count
jvm.gc.G1-Old-Generation.time
jvm.gc.G1-Young-Generation.count
jvm.gc.G1-Young-Generation.time
jvm.memory.heap.committed
jvm.memory.heap.init
jvm.memory.heap.max
jvm.memory.heap.usage
jvm.memory.heap.used
jvm.memory.non-heap.committed
jvm.memory.non-heap.init
jvm.memory.non-heap.max
jvm.memory.non-heap.usage
jvm.memory.non-heap.used
jvm.memory.pools.CodeHeap-'non-nmethods'.committed"
jvm.memory.pools.CodeHeap-'non-nmethods'.init"
jvm.memory.pools.CodeHeap-'non-nmethods'.max"
jvm.memory.pools.CodeHeap-'non-nmethods'.usage"
jvm.memory.pools.CodeHeap-'non-nmethods'.used"
jvm.memory.pools.CodeHeap-'non-profiled-nmethods'.committed"
jvm.memory.pools.CodeHeap-'non-profiled-nmethods'.init"
jvm.memory.pools.CodeHeap-'non-profiled-nmethods'.max"
jvm.memory.pools.CodeHeap-'non-profiled-nmethods'.usage"
jvm.memory.pools.CodeHeap-'non-profiled-nmethods'.used"
jvm.memory.pools.CodeHeap-'profiled-nmethods'.committed"
jvm.memory.pools.CodeHeap-'profiled-nmethods'.init"
jvm.memory.pools.CodeHeap-'profiled-nmethods'.max"
jvm.memory.pools.CodeHeap-'profiled-nmethods'.usage"
jvm.memory.pools.CodeHeap-'profiled-nmethods'.used"
jvm.memory.pools.Compressed-Class-Space.committed
jvm.memory.pools.Compressed-Class-Space.init
jvm.memory.pools.Compressed-Class-Space.max
jvm.memory.pools.Compressed-Class-Space.usage
jvm.memory.pools.Compressed-Class-Space.used
jvm.memory.pools.G1-Eden-Space.committed
jvm.memory.pools.G1-Eden-Space.init
jvm.memory.pools.G1-Eden-Space.max
jvm.memory.pools.G1-Eden-Space.usage
jvm.memory.pools.G1-Eden-Space.used-after-gc
jvm.memory.pools.G1-Eden-Space.used
jvm.memory.pools.G1-Old-Gen.committed
jvm.memory.pools.G1-Old-Gen.init
jvm.memory.pools.G1-Old-Gen.max
jvm.memory.pools.G1-Old-Gen.usage
jvm.memory.pools.G1-Old-Gen.used-after-gc
jvm.memory.pools.G1-Old-Gen.used
jvm.memory.pools.G1-Survivor-Space.committed
jvm.memory.pools.G1-Survivor-Space.init
jvm.memory.pools.G1-Survivor-Space.max
jvm.memory.pools.G1-Survivor-Space.usage
jvm.memory.pools.G1-Survivor-Space.used-after-gc
jvm.memory.pools.G1-Survivor-Space.used
jvm.memory.pools.Metaspace.committed
jvm.memory.pools.Metaspace.init
jvm.memory.pools.Metaspace.max
jvm.memory.pools.Metaspace.usage
jvm.memory.pools.Metaspace.used
jvm.memory.total.committed
jvm.memory.total.init
jvm.memory.total.max
jvm.memory.total.used
jvm.threads.blocked.count
jvm.threads.count
jvm.threads.daemon.count
jvm.threads.deadlock.count
jvm.threads.deadlocks
jvm.threads.new.count
jvm.threads.peak.count
jvm.threads.runnable.count
jvm.threads.terminated.count
jvm.threads.timed_waiting.count
jvm.threads.total_started.count
jvm.threads.waiting.count
org.apache.hc.client5.http.io.HttpClientConnectionManager.PIXILAB_Blocks.available-connections
org.apache.hc.client5.http.io.HttpClientConnectionManager.PIXILAB_Blocks.leased-connections
org.apache.hc.client5.http.io.HttpClientConnectionManager.PIXILAB_Blocks.max-connections
org.apache.hc.client5.http.io.HttpClientConnectionManager.PIXILAB_Blocks.pending-connections
org.eclipse.jetty.server.HttpConnectionFactory.8080.connections
org.eclipse.jetty.util.thread.QueuedThreadPool.dw-admin.jobs
org.eclipse.jetty.util.thread.QueuedThreadPool.dw-admin.jobs-queue-utilization
org.eclipse.jetty.util.thread.QueuedThreadPool.dw-admin.size
org.eclipse.jetty.util.thread.QueuedThreadPool.dw-admin.utilization
org.eclipse.jetty.util.thread.QueuedThreadPool.dw-admin.utilization-max
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.jobs
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.jobs-queue-utilization
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.size
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization-max
pixi.cortex.backlog.now
pixi.cortex.backlog.peak
pixi.cortex.synapse
pixi.receptors
TimeBoundHealthCheck-pool.created
TimeBoundHealthCheck-pool.running
TimeBoundHealthCheck-pool.terminated