OpenTelemetry

Using OpenTelemetry with HighByte Intelligence Hub

The HighByte Intelligence Hub start scripts support running with the OpenTelemetry Java Agent out-of-the-box. Intelligence Hub metrics, logs, and JVM exporters are currently supported.

When starting with the OpenTelemetry Java Agent without the optional endpoint argument, OpenTelemetry metrics and logs are sent to localhost:4318.

Windows

.\start-windows.bat otel [otel endpoint]

Linux

./start-linux.sh otel [otel endpoint]

macOS

./start-macos.sh otel [otel endpoint]

Docker

The docker entrypoint supports the otel command and the collector endpoint is required because there is no collector running on the container. See Docker for more information.

docker run -p 45245:45245 -p 1885:1885 -p 8885:8885 --name highbyte --mount source=hb_vol,target=/usr/local/highbyte/appData highbyte:X.X.X start otel <host:port>

Application Logs

All INFO, WARN, and ERROR event log messages are exported to OpenTelemetry. Logs are exported with the following attributes:

Attribute NameDescription
highbyte.hub.eventlog.sourceName of the component generating the event log message.
highbyte.hub.eventlog.typeCorresponding to the HighByte message type; INFO, WARN, and ERROR

Connection Metrics

The following metrics are exported for monitoring connections in HighByte Intelligence Hub:

Read Metrics

Metric NameTypeDescriptionAttributes
highbyte.hub.connection.stats.read.pending.sizeHistogramNumber of pending reads for a connection across all inputshighbyte.hub.connection.name
highbyte.hub.connection.stats.read.countCounterTotal number of reads executed for a connection’s inputhighbyte.hub.connection.name
highbyte.hub.connection.input.name
highbyte.hub.connection.stats.read.error.countCounterTotal number of read errors for a connection’s inputhighbyte.hub.connection.name
highbyte.hub.connection.input.name
highbyte.hub.connection.stats.read.durationHistogramRead duration for a connection’s input in secondshighbyte.hub.connection.name
highbyte.hub.connection.input.name

Write Metrics

Metric NameTypeDescriptionAttributes
highbyte.hub.connection.stats.write.pending.sizeHistogramNumber of pending writes for a connection across all outputshighbyte.hub.connection.name
highbyte.hub.connection.stats.write.dropped.countCounterNumber of dropped writes for a connection across all outputshighbyte.hub.connection.name
highbyte.hub.connection.stats.write.countCounterTotal number of writes for a connection’s outputhighbyte.hub.connection.name
highbyte.hub.connection.output.name
highbyte.hub.connection.stats.write.error.countCounterTotal number of write errors for a connection’s outputhighbyte.hub.connection.name
highbyte.hub.connection.output.name
highbyte.hub.connection.stats.write.durationHistogramWrite duration for a connection’s output in secondshighbyte.hub.connection.name
highbyte.hub.connection.output.name

Pipeline Metrics

The following metrics are exported for monitoring pipelines in HighByte Intelligence Hub:

Trigger Metrics

Metric NameTypeDescriptionAttributes
highbyte.hub.pipeline.stats.trigger.countCounterTotal number of triggers for a pipeline’s triggerpipeline.name
pipeline.trigger.name
highbyte.hub.pipeline.stats.trigger.error.countCounterTotal number of errors for a pipeline’s triggerpipeline.name
pipeline.trigger.name

Execution Metrics

Metric NameTypeDescriptionAttributes
highbyte.hub.pipeline.stats.run.countCounterTotal number of runs for a pipelinepipeline.name
highbyte.hub.pipeline.stats.write.pending.sizeHistogramNumber of queued writes for a pipelinepipeline.name
highbyte.hub.pipeline.stats.wait.durationHistogramWait duration for a pipeline in secondspipeline.name
highbyte.hub.pipeline.stats.execution.durationHistogramExecution duration for a pipeline in secondspipeline.name
highbyte.hub.pipeline.stats.error.countCounterTotal number of errors for a pipeline’s stagepipeline.name
pipeline.stage.name

See JVM Metrics for more information about JVM metrics generated by the Open Telemetry Java Agent.