Internal Diagnostic Metrics

October 2, 2020 ยท View on GitHub

Table of Content

Overview

Wavefront Java SDKs automatically collect a suite of diagnostic metrics that allow you to monitor the performance of your WavefrontSender instance. These metrics are collected once every minute and are reported to Wavefront using your WavefrontSender instance. How you send data to Wavefront determines the metrics that are collected

Metrics Collected When Using the Wavefront Proxy

If you are sending data to Wavefront via the Wavefront proxy using a WavefrontProxyClient instance, the following diagnostic metrics are reported:

Metrics for Metric Point Handler

NameTypeDescription
~sdk.java.core.sender.proxy.points.discarded.countDelta CounterPoints discarded because port(s) were not configured
~sdk.java.core.sender.proxy.points.valid.countDelta CounterValid points received.
~sdk.java.core.sender.proxy.points.invalid.countDelta CounterInvalid points received.
~sdk.java.core.sender.proxy.points.dropped.countDelta CounterNumber of points dropped due to errors thrown when sending data to socket.
~sdk.java.core.sender.proxy.metricHandler.errors.countDelta CounterErrors encountered, excluding connection errors.
~sdk.java.core.sender.proxy.metricHandler.connect.errors.countDelta CounterErrors encountered connecting to remote socket.
~sdk.java.core.sender.proxy.metricHandler.socket.write.success.countDelta CounterSuccessful writes to socket.
~sdk.java.core.sender.proxy.metricHandler.socket.write.errors.countDelta CounterUnsuccessful writes to socket.
~sdk.java.core.sender.proxy.metricHandler.socket.flush.success.countDelta CounterSuccessful socket flushes.
~sdk.java.core.sender.proxy.metricHandler.socket.flush.errors.countDelta CounterUnsuccessful socket flushes.
~sdk.java.core.sender.proxy.metricHandler.socket.reset.success.countDelta CounterSuccessful connection resets.
~sdk.java.core.sender.proxy.metricHandler.socket.reset.errors.countDelta CounterUnsuccessful connection resets.

Metrics for Histogram Distribution Handler

NameTypeDescription
~sdk.java.core.sender.proxy.histograms.discarded.countDelta CounterDistributions discarded because port(s) were not configured.
~sdk.java.core.sender.proxy.histograms.valid.countDelta CounterValid distributions received.
~sdk.java.core.sender.proxy.histograms.invalid.countDelta CounterInvalid distributions received.
~sdk.java.core.sender.proxy.histograms.dropped.countDelta CounterNumber of distributions dropped due to errors thrown when sending data to socket.
~sdk.java.core.sender.proxy.histogramHandler.errors.countDelta CounterErrors encountered, excluding connection errors.
~sdk.java.core.sender.proxy.histogramHandler.connect.errors.countDelta CounterErrors encountered connecting to remote socket.
~sdk.java.core.sender.proxy.histogramHandler.socket.write.success.countDelta CounterSuccessful writes to socket.
~sdk.java.core.sender.proxy.histogramHandler.socket.write.errors.countDelta CounterUnsuccessful writes to socket.
~sdk.java.core.sender.proxy.histogramHandler.socket.flush.success.countDelta CounterSuccessful socket flushes.
~sdk.java.core.sender.proxy.histogramHandler.socket.flush.errors.countDelta CounterUnsuccessful socket flushes.
~sdk.java.core.sender.proxy.histogramHandler.socket.reset.success.countDelta CounterSuccessful connection resets.
~sdk.java.core.sender.proxy.histogramHandler.socket.reset.errors.countDelta CounterUnsuccessful connection resets.

Metrics for Tracing Handler

NameTypeDescription
~sdk.java.core.sender.proxy.spans.discarded.countDelta CounterSpans discarded because port(s) were not configured.
~sdk.java.core.sender.proxy.spans.valid.countDelta CounterValid spans received.
~sdk.java.core.sender.proxy.spans.invalid.countDelta CounterInvalid spans received.
~sdk.java.core.sender.proxy.spans.dropped.countDelta CounterNumber of spans dropped due to errors thrown when sending data to socket.
~sdk.java.core.sender.proxy.tracingHandler.errors.countDelta CounterErrors encountered, excluding connection errors.
~sdk.java.core.sender.proxy.tracingHandler.connect.errors.countDelta CounterErrors encountered connecting to remote socket.
~sdk.java.core.sender.proxy.tracingHandler.socket.write.success.countDelta CounterSuccessful writes to socket.
~sdk.java.core.sender.proxy.tracingHandler.socket.write.errors.countDelta CounterUnsuccessful writes to socket.
~sdk.java.core.sender.proxy.tracingHandler.socket.flush.success.countDelta CounterSuccessful socket flushes.
~sdk.java.core.sender.proxy.tracingHandler.socket.flush.errors.countDelta CounterUnsuccessful socket flushes.
~sdk.java.core.sender.proxy.tracingHandler.socket.reset.success.countDelta CounterSuccessful connection resets.
~sdk.java.core.sender.proxy.tracingHandler.socket.reset.errors.countDelta CounterUnsuccessful connection resets.

Metrics Collected When Using Direct Ingestion

If you directly sending data to Wavefront using a WavefrontDirectIngestionClient instance, the following diagnostic metrics are reported:

Metrics for Metric Point Ingestion

NameTypeDescription
~sdk.java.core.sender.direct.points.queue.sizeGaugePoints in ingestion buffer.
~sdk.java.core.sender.direct.points.queue.remaining_capacityGaugeRemaining capacity of ingestion buffer.
~sdk.java.core.sender.direct.points.valid.countDelta CounterValid points received.
~sdk.java.core.sender.direct.points.invalid.countDelta CounterInvalid points received.
~sdk.java.core.sender.direct.points.dropped.countDelta CounterValid points that are dropped during ingestion.
~sdk.java.core.sender.direct.points.report.errors.countDelta CounterExceptions encountered while reporting points.
~sdk.java.core.sender.direct.points.report.202.countDelta CounterReport requests by response status code.

Metrics for Histogram Distribution Ingestion

NameTypeDescription
~sdk.java.core.sender.direct.histograms.queue.sizeGaugeDistributions in ingestion buffer.
~sdk.java.core.sender.direct.histograms.queue.remaining_capacityGaugeRemaining capacity of ingestion buffer.
~sdk.java.core.sender.direct.histograms.valid.countDelta CounterValid distributions received.
~sdk.java.core.sender.direct.histograms.invalid.countDelta CounterInvalid distributions received.
~sdk.java.core.sender.direct.histograms.dropped.countDelta CounterValid distributions that are dropped during ingestion.
~sdk.java.core.sender.direct.histograms.report.errors.countDelta CounterExceptions encountered while reporting distributions.
~sdk.java.core.sender.direct.histograms.report.202.countDelta CounterReport requests by response status code.

Metrics for Tracing Span Ingestion

NameTypeDescription
~sdk.java.core.sender.direct.spans.queue.sizeGaugeSpans in ingestion buffer.
~sdk.java.core.sender.direct.spans.queue.remaining_capacityGaugeRemaining capacity of ingestion buffer.
~sdk.java.core.sender.direct.spans.valid.countDelta CounterValid spans received.
~sdk.java.core.sender.direct.spans.invalid.countDelta CounterInvalid spans received.
~sdk.java.core.sender.direct.spans.dropped.countDelta CounterValid spans that are dropped during ingestion.
~sdk.java.core.sender.direct.spans.report.errors.countDelta CounterExceptions encountered while reporting spans.
~sdk.java.core.sender.direct.spans.report.202.countDelta CounterReport requests by response status code.

Where to Go Next

To continue, select one of the Wavefront Java SDK links in the table below.

SDK Type SDK Description Java SDKs
OpenTracing SDK Implements the OpenTracing specification. Lets you define, collect, and report custom trace data from any part of your application code.
Automatically derives RED metrics from the reported spans.
Metrics SDK Implements a standard metrics library. Lets you define, collect, and report custom business metrics and histograms from any part of your application code.
Framework SDK Reports predefined traces, metrics, and histograms from the APIs of a supported app framework. Lets you get started quickly with minimal code changes.
Sender SDK Lets you send raw values to Wavefront for storage as metrics, histograms, or traces, e.g., to import CSV data into Wavefront.