Open Telemetry

The start scripts demonstrate how the Intelligence Hub can be used with the Open Telemetry Java Agent. Modification may be required for deploying in a Production environment.

Using Open Telemetry with HighByte Intelligence Hub

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

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

Windows

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

Linux

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

macOS

bash
./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.

bash
docker run -p 45245:45245 -p 1885:1885 -p 8885:8885 -p 45345:45345 --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 Open Telemetry. Logs are exported with the following attributes:

Attribute Name Description
highbyte.hub.eventlog.source Name of the component generating the event log message.
highbyte.hub.eventlog.type Corresponding 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 Name Type Description Attributes
highbyte.hub.connection.stats.read.pending.size Histogram Number of pending reads for a connection across all inputs highbyte.hub.connection.name
highbyte.hub.connection.stats.read.count Counter Total number of reads executed for a connection’s input highbyte.hub.connection.name
highbyte.hub.connection.input.name
highbyte.hub.connection.stats.read.error.count Counter Total number of read errors for a connection’s input highbyte.hub.connection.name
highbyte.hub.connection.input.name
highbyte.hub.connection.stats.read.duration Histogram Read duration for a connection’s input in seconds highbyte.hub.connection.name
highbyte.hub.connection.input.name

Write Metrics

Metric Name Type Description Attributes
highbyte.hub.connection.stats.write.pending.size Histogram Number of pending writes for a connection across all outputs highbyte.hub.connection.name
highbyte.hub.connection.stats.write.dropped.count Counter Number of dropped writes for a connection across all outputs highbyte.hub.connection.name
highbyte.hub.connection.stats.write.count Counter Total number of writes for a connection’s output highbyte.hub.connection.name
highbyte.hub.connection.output.name
highbyte.hub.connection.stats.write.error.count Counter Total number of write errors for a connection’s output highbyte.hub.connection.name
highbyte.hub.connection.output.name
highbyte.hub.connection.stats.write.duration Histogram Write duration for a connection’s output in seconds highbyte.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 Name Type Description Attributes
highbyte.hub.pipeline.stats.trigger.count Counter Total number of triggers for a pipeline’s trigger pipeline.name
pipeline.trigger.name
highbyte.hub.pipeline.stats.trigger.error.count Counter Total number of errors for a pipeline’s trigger pipeline.name
pipeline.trigger.name

Execution Metrics

Metric Name Type Description Attributes
highbyte.hub.pipeline.stats.run.count Counter Total number of runs for a pipeline pipeline.name
highbyte.hub.pipeline.stats.write.pending.size Histogram Number of queued writes for a pipeline pipeline.name
highbyte.hub.pipeline.stats.wait.duration Histogram Wait duration for a pipeline in seconds pipeline.name
highbyte.hub.pipeline.stats.execution.duration Histogram Execution duration for a pipeline in seconds pipeline.name
highbyte.hub.pipeline.stats.error.count Counter Total number of errors for a pipeline’s stage pipeline.name
pipeline.stage.name

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