Chronosphere metrics have a variety of limits, depending on where your data is in the
processing cycle.Your license limits the amount of data you
can write to and store within Chronosphere.Metrics quotas assign specific percentages of your total
persisted writes limit to pools of metrics. Use quotas to limit groups of metrics and
ensure Chronosphere retains the highest value metrics.See Managing invalid metrics
for information about debugging invalid metrics.
Metrics have the following size limits, which help ensure consistency and prevent
issues with queries:
Label names: 512 bytes
Label values: 1,024 bytes
Max number of labels: 64 labels
Total time series bytes: 4,096 bytes
If label values exceed 1,024 bytes, Observability Platform shortens the label values
to accept the time series.
Observability Platform shortens label values before validating the total time series
byte length. When label values that exceed the maximum length, Observability Platform
hashes the original value, and replaces the middle portion of the label with a hash
value in this format:
This strategy ensures that the original and shortened label values have the same
prefix and suffix. The inserted hash value preserves uniqueness in the shortened
values.The following example shows a metric with a long label value.
Example metric with a long label value
# HELP application_exceptions_total Total count of application-level exceptions.# TYPE application_exceptions_total counterapplication_exceptions_total{exception="JDBCConnectionException",error_detail="org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:111) at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$CheckConnectionTask.run(DriverManagerConnectionProviderImpl.java:285)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure. The last packet sent successfully to the serverwas 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423)"} 1.0
The following example shows the same metric, but with a shortened label value to
allow ingestion. The hashed value indicates where Observability Platform shortened
the label value.
Example metric with a shortened value
# HELP application_exceptions_total Total count of application-level exceptions.# TYPE application_exceptions_total counterapplication_exceptions_total{exception="JDBCConnectionException",error_detail="org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:111) at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.[Value shortened; Original=(len:1063 XXH64:aaf02cb52ed0a0fe)]makeConnection(DriverConnectionCreator.java:38)at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$CheckConnectionTask.run(DriverManagerConnectionProviderImpl.java:285)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure. The last packet sent successfully to the serverwas 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423)"} 1.0
Prometheus, OpenTelemetry, and other metric formats include one or more timestamp
values for each data point. These values indicate when a sample was observed, or
represent the time range of the data point. Chronosphere Observability Platform can
accept late-arriving data points within a time frame, depending whether the data
point matches an aggregation rule or is ingested without aggregation:
Aggregation rules accept data points from two minutes to eight minutes past the
current ingestion time.
Raw data points can be written to the database up to two hours before the ingestion
timestamp.
Observability Platform accepts incoming metrics one minute ahead of the current
timestamp. If metrics arrive outside of this one-minute buffer, Observability
Platform rejects those metrics and returns an error indicating that metrics arrived
too far into the future.