Skip to main content
Version: NG-2.14

Traces

Introduction

Collects the Distributed Traces telemetry from the applications to enable observability.

Getting Started

Compatibility

Traces is a comprehensive application observability solution that offers deep visibility into the application performance with the standard applications performance monitoring dashboards. Traces O11ySources is currently compatible for applications in the following languages: Java, .NET Core, .NET Framework

Data Collection Method

For collecting Traces data, we have to do the instrumentation on the application.

Prerequisites

Inputs for Configuring Data Source

  • Applications Group: Name of application group.
  • SSL required: SSL allowed or not. TLS will be turned on if selected Yes.
Application Services
  • Language: Select application language.
  • Application Name: Name of the target application.
  • Service Name: Service name in the application.Typically in monolithic applications, the service name and application name are the same. In the microservices application, there would be one application that can have one or more services.

Firewall Requirement

To collect data from this O11ySource, ensure the following ports are opened:

Source IPDestination IPDestination PortProtocolDirection
Application ServervuSmartMaps Data Collector IP4319*TCPInbound

*Before providing the firewall requirements, please update the port based on the customer environment.

Configuring the Target

Sampling Policies/Sampling Sub Policies Description:

  • Allow All
  • *Meaning: This represents the sampling policy which captures all incoming traces. It does not discard any data. Each and every trace that flows in is kept, with no filtering or selective sampling applied.
  • Allow based on Latency
  • *Meaning: This policy type focuses on sampling data based on the processing time or latency.
  • *Attributes: threshold_ms
  • *Usage: Data exceeding this specified threshold in terms of processing time or latency will be sampled for further analysis or processing.
  • Allow based on Numeric Attributes
  • *Meaning: This sampling policy involves filtering or sampling based on numeric attribute values falling within specified ranges.
  • *Attributes: key, min_value, max_value
  • *Usage: Sampling only data where the specified attribute key values fall within the defined range aids in proactive maintenance or alerting.
  • Allow a Percentage
  • *Meaning: This policy type allows sampling based on a defined probability or percentage.
  • *Attributes: sampling_percentage
  • *Usage: Collecting a specific percentage of incoming data enables analysis without overloading the system with excessive data, providing a representative subset for insights.
  • Allow based on Status
  • *Meaning: Sampling based on specific HTTP status codes.
  • *Attributes: status_codes
  • *Usage: Sampling data associated with particular HTTP error codes helps focus on error instances for detailed investigation and troubleshooting.
  • Allow based on String Attributes
  • *Meaning: Sampling based on specific string attribute values.
  • *Attributes: key, values, enabled_regex_matching, invert_match
  • *Usage: Sampling data related to specific string attribute values aids in monitoring and analyzing critical endpoints' performance and usage.
  • Limit on Rate
  • *Meaning: This policy limits the rate at which data is sampled based on a defined frequency.
  • *Attributes: spans_per_second
  • *Usage: Limiting the number of spans processed per second helps prevent system overload during traffic spikes, ensuring downstream systems aren't inundated with excessive data.

Configuration Steps

  • Turn on the O11ySources, by clicking the Enable button.
  • Select the sources tab and press the + button to add a new services to be monitored.
  • Fill up the following details in the wizard
  • *Specify Applications Group.
  • *Define Application Services.
  • *Configure Sampling Policies.
  • *Configure Sampling Sub Policies.
  • Download the client instrumentation package for the selected language from the agent configuration wizard.
  • Follow the instructions in the client instrumentation package.

Metrics Collected

NameDescriptionData Type
timestampThe exact timestamp when the log was recorded, with nanosecond precision.DateTime64(9)
applicationName of the application associated with the trace or span.String
service_nameName of the service generating the span.String
span_nameName or description of the span representing a specific operation.String
span_kindType of span, indicating its role (e.g., client, server, internal).String
host_nameThe name of the host or machine generating the span.String
http_status_codeHTTP status code for the request, if applicable.Nullable(Int32)
status_codeStatus code for the span operation (e.g., OK, ERROR).String
start_timeThe start time of the span, with nanosecond precision.DateTime64(9)
call_countTotal number of calls associated with the span.UInt64
error_countTotal number of errors encountered during the span.UInt64
duration_sumTotal sum of the durations of calls in the span, typically in milliseconds.Float64
duration_bucket_countsHistogram bucket counts representing the distribution of call durations.Array(UInt64)
duration_explicit_boundsExplicit bounds for the duration histogram buckets.Array(Float64)
timestampThe precise timestamp when the span was recorded, with microsecond precision.DateTime64(6)
traceIdUnique identifier for the trace.String
spanIdUnique identifier for the span.String
span_parentSpanIdIdentifier for the parent span of the current span.String
span_nameName of the span, representing the operation or request being traced.LowCardinality(String)
span_kindRole of the span (e.g., server, client, internal).LowCardinality(String)
span_start_timeStart time of the span, with microsecond precision.DateTime64(6)
span_end_timeEnd time of the span, with microsecond precision.DateTime64(6)
is_root_spanIndicates whether the span is the root of the trace.boolean
status_codeStatus of the span operation (e.g., 0 = OK, 1 = ERROR).UInt8
span_durationNanoDuration of the span in nanoseconds.UInt64
span_attributes_siteSite associated with the span.String
span_attributes_locationGeographic or logical location associated with the span.LowCardinality(String)
span_attributes_libraryName of the library or module generating the span.String
span_attributes_destinationDestination of the operation represented by the span.String
span_attributes_destination_urlURL of the destination for the span operation.String
span_attributes_instrumentation_library_nameName of the library used for instrumentation.String
span_attributes_net_peer_ipIP address of the peer involved in the span operation.String
span_attributes_net_peer_nameHostname of the peer involved in the span operation.String
span_attributes_thread_nameName of the thread executing the span operation.String
span_attributes_codeCode identifier for the operation.String
span_attributes_code_functionFunction name associated with the span.String
span_attributes_code_namespaceNamespace of the code being executed.String
resource_attributes_applicationApplication associated with the span resource.LowCardinality(String)
resource_attributes_host_ipIP address of the host executing the span.LowCardinality(String)
resource_attributes_host_nameName of the host executing the span.LowCardinality(String)
resource_attributes_service_nameName of the service associated with the span resource.LowCardinality(String)
span_attributes_service_nameName of the service involved in the span operation.LowCardinality(String)
resource_attributes_k8s_node_nameKubernetes node name associated with the resource.LowCardinality(String)
resource_attributes_k8s_deployment_nameKubernetes deployment name associated with the resource.LowCardinality(String)
span_attributes_transactionTransaction identifier for the span.String
span_attributes_http_status_codeHTTP status code for the request associated with the span.UInt32
span_attributes_http_hostHostname for the HTTP request.String
span_attributes_http_targetTarget URL for the HTTP request.String
span_attributes_http_routeRoute or path for the HTTP request.String
span_attributes_http_methodHTTP method used (e.g., GET, POST).LowCardinality(String)
span_attributes_http_status_textText description of the HTTP status.String
span_attributes_http_urlFull URL for the HTTP request.String
span_attributes_http_user_agentUser-agent string from the HTTP request.String
span_attributes_db_nameName of the database involved in the span operation.LowCardinality(String)
span_attributes_db_operationType of database operation (e.g., SELECT, INSERT).LowCardinality(String)
span_attributes_db_statementSQL statement executed in the span.LowCardinality(String)
span_attributes_db_systemType of database system (e.g., MySQL, PostgreSQL).LowCardinality(String)
span_attributes_db_sqlSQL query string executed.LowCardinality(String)
span_attributes_messaging_destinationDestination of the messaging system involved in the span.LowCardinality(String)
span_attributes_messaging_destination_kindKind of messaging destination (e.g., queue, topic).LowCardinality(String)
span_attributes_messaging_operationOperation performed on the messaging system (e.g., SEND, RECEIVE).LowCardinality(String)
span_attributes_messaging_systemName of the messaging system involved.LowCardinality(String)
span_errorSpanIndicates whether the span contains an error.boolean
span_exception_messageError message associated with the span exception.String
span_exception_stacktraceStack trace of the exception in the span.String
span_exception_timeTimestamp of the exception occurrence, with microsecond precision.DateTime64(6)
span_exception_typeType of exception encountered in the span.LowCardinality(String)
resource_attributes_envEnvironment associated with the span (e.g., dev, prod).LowCardinality(String)
bucketThe time bucket for aggregating data, with high precision.DateTime64
timestampThe precise timestamp when the data was recorded.DateTime64
resource_attributes_applicationName of the application associated with the resource.LowCardinality(String)
resource_attributes_service_nameName of the service associated with the resource.LowCardinality(String)
span_attributes_locationGeographic or logical location associated with the span.String
resource_attributes_host_nameName of the host associated with the resource.LowCardinality(String)
resource_attributes_host_ipIP address of the host associated with the resource.LowCardinality(String)
span_attributes_http_routeRoute or path accessed in the HTTP request.String
span_attributes_http_status_codeHTTP status code for the request (e.g., 200, 404).UInt32
originOrigin of the request or span (e.g., client IP or identifier).LowCardinality(String)
origin_typeType of origin (e.g., client, service).LowCardinality(String)
span_attributes_destinationDestination of the operation represented by the span.String
destination_typeType of destination (e.g., service, database).LowCardinality(String)
latency90th percentile latency of requests or spans in nanoseconds.AggregateFunction(quantileExact(0.90), UInt64)
total_requestsTotal number of requests recorded in the bucket.AggregateFunction(count)
errorsTotal number of errors recorded in the bucket.AggregateFunction(count)
spanIdUnique identifier for the span.String
resource_attributes_envEnvironment associated with the resource (e.g., dev, prod).LowCardinality(String)
bucketThe time bucket for aggregating data, with high precision.DateTime64
resource_attributes_applicationName of the application associated with the resource.LowCardinality(String)
resource_attributes_service_nameName of the service associated with the resource.LowCardinality(String)
span_attributes_locationGeographic or logical location associated with the span.String
resource_attributes_host_nameName of the host associated with the resource.LowCardinality(String)
resource_attributes_host_ipIP address of the host associated with the resource.LowCardinality(String)
span_attributes_transactionIdentifier or name of the transaction related to the span.String
span_attributes_http_status_codeHTTP status code for the request (e.g., 200, 404).UInt32
num_requestsTotal number of requests recorded within the bucket.AggregateFunction(count)
num_service_requestsTotal number of service-specific requests recorded within the bucket.AggregateFunction(count)
greenCount of requests or spans categorized as "green" (e.g., good health/performance).AggregateFunction(count)
light_greenCount of requests or spans categorized as "light green" (e.g., acceptable health/performance).AggregateFunction(count)
yellowCount of requests or spans categorized as "yellow" (e.g., warning or degraded state).AggregateFunction(count)
redCount of requests or spans categorized as "red" (e.g., critical health/performance).AggregateFunction(count)
latency90th percentile latency of requests or spans in nanoseconds.AggregateFunction(quantileExact(0.90), UInt64)
max_latencyMaximum latency of requests or spans in nanoseconds.AggregateFunction(max, UInt64)
num_errorsCount of errors based on a specific condition within the bucket.AggregateFunction(countIf, UInt8)
spanIdUnique identifier for the span.String
num_service_errorsCount of errors specific to the service within the bucket.AggregateFunction(count, UInt64)
resource_attributes_envEnvironment associated with the resource (e.g., dev, prod).LowCardinality(String)
resource_attributes_applicationThe name of the application associated with the resource.LowCardinality(String)
resource_attributes_service_nameThe name of the service associated with the resource.LowCardinality(String)
span_attributes_transactionIdentifier or name of the transaction related to the span.String
span_attributes_http_status_codeHTTP status code for the transaction or span (e.g., 200 for success, 404 for not found).UInt32
resource_attributes_host_nameThe hostname of the resource or system involved in the transaction.LowCardinality(String)
bucketThe time bucket for aggregating metrics.DateTime
timestampThe specific timestamp of the record.DateTime
resource_attributes_applicationThe name of the application associated with the resource.LowCardinality(String)
resource_attributes_service_nameThe name of the service associated with the resource.LowCardinality(String)
span_attributes_locationThe geographic or logical location of the span.LowCardinality(String)
resource_attributes_host_nameThe hostname of the resource involved in the transaction.LowCardinality(String)
resource_attributes_host_ipThe IP address of the resource involved in the transaction.LowCardinality(String)
span_attributes_transactionIdentifier or name of the transaction related to the span.String
span_attributes_http_status_codeHTTP status code associated with the span (e.g., 200 for success, 404 for not found).UInt32
resource_attributes_envThe environment in which the resource is operating (e.g., production, staging).LowCardinality(String)
num_requestsThe total number of requests made in the bucket.AggregateFunction(count)
num_service_requestsThe total number of service-level requests in the bucket.AggregateFunction(count)
greenCount of requests classified under the "green" performance threshold.AggregateFunction(count)
light_greenCount of requests classified under the "light green" performance threshold.AggregateFunction(count)
yellowCount of requests classified under the "yellow" performance threshold.AggregateFunction(count)
redCount of requests classified under the "red" performance threshold.AggregateFunction(count)
latencyThe 90th percentile latency of the requests in the bucket.AggregateFunction(quantile(0.9), UInt64)
latency50The 50th percentile (median) latency of the requests in the bucket.AggregateFunction(quantile(0.50), UInt64)
latency75The 75th percentile latency of the requests in the bucket.AggregateFunction(quantile(0.75), UInt64)
latency95The 95th percentile latency of the requests in the bucket.AggregateFunction(quantile(0.95), UInt64)
latency99The 99th percentile latency of the requests in the bucket.AggregateFunction(quantile(0.99), UInt64)
max_latencyThe maximum latency observed in the bucket.SimpleAggregateFunction(max, UInt64)
num_errorsThe total number of errors encountered in the bucket.AggregateFunction(count, UInt64)
num_service_errorsThe total number of service-level errors encountered in the bucket.AggregateFunction(count, UInt64)
latency50_rootspanThe 50th percentile (median) latency of the root span.AggregateFunction(quantile(0.5), UInt64)
latency75_rootspanThe 75th percentile latency of the root span.AggregateFunction(quantile(0.75), UInt64)
latency90_rootspanThe 90th percentile latency of the root span.AggregateFunction(quantile(0.9), UInt64)
latency95_rootspanThe 95th percentile latency of the root span.AggregateFunction(quantile(0.95), UInt64)
latency99_rootspanThe 99th percentile latency of the root span.AggregateFunction(quantile(0.9), UInt64)
spanIdUnique identifier of the span associated with the metrics.String