Overview
-
TelemetryDataSet is the core concept in UModel for defining and managing observability data. It provides a unified data modeling framework that supports multiple observability data types, including logs, metrics, traces, events, and profiles.
-
TelemetryDataSet inherits the basic attributes of a node from graph theory and adds a time dimension and observation attributes. All specific dataset types, including LogSet, TraceSet, EventSet, ProfileSet, and MetricSet, extend from TelemetryDataSet.
Core features
-
Time dimension support: All observability data includes a time field for time series analysis.
-
Field classification management: Fields can be classified as displayed, hidden, or tag fields.
-
Flexible sorting mechanism: You can define default sort fields and sort orders.
-
Unified data structure: Ensures consistent data modeling syntax and standards.
-
Extensible design: Specific data types can extend capabilities through inheritance.
General configuration structure
All TelemetryDataSet types share the following base configuration fields:
|
Field |
Type |
Required |
Description |
|
|
Array |
Yes |
A list of field definitions that specify all fields in the dataset. |
|
|
String |
No |
The time field name, used for time series analysis and sorting. |
|
|
Array |
No |
Display name fields, sorted by importance. |
|
|
Array |
No |
Tag fields, used for aggregation and analysis. |
|
|
Array |
No |
Hidden fields, not displayed in the console. |
|
|
Array |
No |
The fields used to sort query results. |
|
|
Enum |
No |
The default sort order (asc/desc). |
LogSet modeling
-
LogSet defines the structure and attributes of log data. It is one of the most flexible dataset types, inheriting all base capabilities of TelemetryDataSet, and is suitable for modeling various log data.
-
Note: LogSet does not add extra fields beyond TelemetryDataSet, which makes it highly flexible and general-purpose. However, it does not provide advanced features for specific structured data, such as time series forecasting or trace summaries.
TraceSet modeling
TraceSet defines distributed tracing data. It includes tracing-specific fields and protocol support, and serves as the abstract representation of tracing standards such as OpenTelemetry in UModel.
Protocol support
TraceSet supports the following tracing protocols:
|
Protocol |
Description |
Field requirements |
|
opentelemetry |
OpenTelemetry standard (default, recommended) |
traceId, spanId, parentSpanId |
|
jaeger |
Jaeger tracing format |
traceID, spanID, parentSpanID |
|
zipkin |
Zipkin tracing format |
traceId, spanId, parentSpanId |
Additional field configurations
TraceSet requires the following additional tracing-related fields:
|
Field |
Description |
Constraint |
|
|
The trace ID field name |
Required. Default: "traceId" |
|
|
The span ID field name |
Required. Default: "spanId" |
|
|
The parent span ID field name |
Optional. Default: "parentSpanId" |
|
|
The tracing protocol |
Optional. Default: "opentelemetry" |
Note: In Observability 2.0, TraceSet has a fixed structure that follows the OpenTelemetry specification. It must be stored in a Simple Log Service Logstore, which provides visualization and analysis capabilities for app performance analytics data.
EventSet modeling
-
EventSet defines the structure of event data and is suitable for alert events, system events, and business events. It provides flexible capabilities for defining event types and managing states.
-
Note: EventSet does not add extra fields beyond TelemetryDataSet. In UModel, an EventSet and a Simple Log Service Logstore are created by default to store system events and alert events. The format follows the CloudEvents specification.
ProfileSet modeling
ProfileSet defines performance profiling data and supports data modeling for various performance metrics such as CPU, memory, and network. It is primarily used for app performance analytics and system performance optimization.
Additional field configurations
ProfileSet requires the following additional fields:
|
Field |
Description |
Constraint |
|
|
The performance profiling protocol |
Required. Default: "pprof". Currently, only this protocol is supported. |
Note: In Observability 2.0, ProfileSet has a fixed structure that follows the pprof specification. It must be stored in a Simple Log Service Logstore to provide visualization and analysis capabilities for app performance analytics data.