Dataset modeling

更新时间:
复制 MD 格式

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

fields

Array

Yes

A list of field definitions that specify all fields in the dataset.

time_field

String

No

The time field name, used for time series analysis and sorting.

name_fields

Array

No

Display name fields, sorted by importance.

tag_fields

Array

No

Tag fields, used for aggregation and analysis.

hidden_fields

Array

No

Hidden fields, not displayed in the console.

ordered_fields

Array

No

The fields used to sort query results.

default_order

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

trace_id_field

The trace ID field name

Required. Default: "traceId"

span_id_field

The span ID field name

Required. Default: "spanId"

parent_span_id_field

The parent span ID field name

Optional. Default: "parentSpanId"

protocol

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

protocol

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.