Skip to main content
Version: NG-2.16

Traces

Introduction

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

Getting Started

Compatibility




vuSmartMaps Supported Versions



vuSmartMaps Supported Versions



Language/Environment
Supported Versions
Supported Environments




Java
Java 8 and above
Spring Boot

Standalone JAR
Apache Tomcat (Linux)
Apache Tomcat (Windows)
JBoss/Wildfly (Linux, standalone mode)
JBoss/Wildfly (Linux, domain mode)
JBoss/Wildfly (Windows, standalone mode)
JBoss/Wildfly (Windows, domain mode)
Weblogic (standalone mode)
Weblogic (managed by admin server)
Websphere Application Server ND
Docker (requires image rebuild)
Kubernetes (using OpenTelemetry Operator)

C# / .NET
.NET Core 6.0 and above


.NET Core 6.0 and above (Linux)
.NET Core 6.0 and above (Windows)
.NET Core 6.0 and above (IIS on Windows)
Docker (requires image rebuild)
Kubernetes (using OpenTelemetry Operator)




.NET Framework 4.6.2 and above


.NET Framework 4.6.2 and above (IIS on Windows)




Go
Go 1.22


Standalone application (Linux and Windows)
Docker (requires image rebuild)




Go 1.23


Kubernetes (using OpenTelemetry Operator)
Standalone application (Linux and Windows)
Docker (requires image rebuild)







Data Collection Method

The target applications are instrumented using zero-code trace instrumentation SDKs, available for various programming languages

Prerequisites

Inputs for Configuring Data Source

  • Applications Group: Enter the name of the Application group you want to monitor
  • 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.
  • SSL Required: Enable TLS communication for trace ingestion. Once enabled, trace data sent from the application to the vuSmartMaps ingestion endpoint will be securely encrypted. After enabling this feature, follow the additional instrumentation configuration steps provided in the 'TLS Configuration' section of the instrumentation guide.
  • Application Services: Specify the name of your application and service that will be displayed in the observability UI. In a microservices architecture, an application can consist of multiple services. However, in the absence of microservices, each application would typically have just one service. It is possible to have the same name for both the application and service if desired.
  • Language: The programming language used for developing the application service
  • Application Name: Name of the target application
  • Enable Tail Sampling: Select "Yes" if the sampling policies configured in the 'settings' tab are to be used to decide on traces to be stored. Select "No" to store 100% of the collected traces.
  • Attributes from HTTP Header: Add the attributes from http header to be captured in spans. If you need to include multiple attributes, separate them with commas (e.g., attribute1, attributer2)

Firewall Requirement

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

Source IPDestination IPDestination PortProtocolDirection
Application ServervuSmartMaps Data Collector End Point4317*, 4318TCPInbound

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

Configuring the Target

Instrument the application using the appropriate methods based on the programming language. The complete instructions can be downloaded as the package from the Traces O11ySource

Configuration Steps

Enable the O11ySource.

Select the Sources tab and press the + button to add a new application / service to be monitored.

Click on Save to create the instance. Download the package and share it with the client for instrumentation

Metrics Collected

NameDescriptionData Type
timestampThe timestamp when the span or event occurred.DateTime64(6)
traceIdUnique identifier for a distributed trace that includes multiple spans.String
spanIdIdentifier for a specific span within a trace.String
span_parentSpanIdIdentifier linking this span to its parent span, indicating the hierarchical relationship in the trace.String
span_nameName or label for the span, typically indicating the operation or activity being traced.LowCardinality(String)
span_kindIndicates whether the span represents a client or server-side span, or other categorizations like internal or external.LowCardinality(String)
span_start_timeTimestamp marking the start time of the span.DateTime64(6)
span_end_timeTimestamp marking the end time of the span.DateTime64(6)
is_root_spanBoolean indicating if this span is the root of the trace.Bool
status_codeHTTP or application-specific status code associated with the span.UInt8
span_durationNanoDuration of the span in nanoseconds.UInt64
span_attributes_siteAttribute indicating the site or location related to the span.String
span_attributes_locationFurther detail about the location associated with the span.LowCardinality(String)
span_attributes_libraryInformation about the library or framework used in the span.String
span_attributes_destinationDescription of the destination related to the span.String
span_attributes_destination_urlURL associated with the destination.String
span_attributes_instrumentation_library_nameName of the instrumentation library used to trace the span.String
span_attributes_net_peer_ipIP address of the network peer involved in the span.String
span_attributes_net_peer_nameName or identifier of the network peer.String
span_attributes_thread_nameName or identifier of the thread associated with the span.String
span_attributes_codeAdditional code-related information.String
span_attributes_code_functionSpecific function within the code related to the span.String
span_attributes_code_namespaceNamespace or context within which the code operates.String
resource_attributes_applicationApplication-related information for the resource associated with the span.LowCardinality(String)
resource_attributes_host_ipIP address of the host where the span originated.LowCardinality(String)
resource_attributes_host_nameName of the host where the span originated.LowCardinality(String)
resource_attributes_service_nameName of the service associated with the span.LowCardinality(String)
span_attributes_service_nameName of the specific service or component within the span.LowCardinality(String)
resource_attributes_k8s_node_nameKubernetes node name where the span originated.LowCardinality(String)
resource_attributes_k8s_deployment_nameKubernetes deployment name where the span originated.LowCardinality(String)
span_attributes_transactionTransaction or request identifier associated with the span.String
span_attributes_http_status_codeHTTP status code associated with an HTTP-related span.UInt32
span_attributes_http_hostHost information associated with an HTTP-related span.String
span_attributes_http_targetTarget or endpoint information associated with an HTTP-related span.String
span_attributes_http_routeRoute or path information associated with an HTTP-related span.String
span_attributes_http_methodHTTP method (GET, POST, etc.) associated with an HTTP-related span.LowCardinality(String)
span_attributes_http_status_textTextual representation of the HTTP status associated with an HTTP-related span.String
span_attributes_http_urlURL associated with an HTTP-related span.String
span_attributes_http_user_agentUser agent information associated with an HTTP-related span.String
span_attributes_db_nameDatabase name associated with a database-related span.LowCardinality(String)
span_attributes_db_operationOperation performed on the database (query, insert, etc.).LowCardinality(String)
span_attributes_db_statementDatabase statement executed within the span.LowCardinality(String)
span_attributes_db_systemDatabase management system (DBMS) associated with the span.LowCardinality(String)
span_attributes_db_sqlSQL query or command associated with a database-related span.LowCardinality(String)
span_attributes_messaging_destinationDestination or queue name for messaging-related spans.LowCardinality(String)
span_attributes_messaging_destination_kindType or kind of messaging destination (queue, topic, etc.).LowCardinality(String)
span_attributes_messaging_operationOperation performed within the messaging system (send, receive, etc.).LowCardinality(String)
span_attributes_messaging_systemMessaging system (Kafka, RabbitMQ, etc.) associated with the span.LowCardinality(String)
span_errorSpanBoolean indicating if the span represents an error or exception.Bool
span_exception_messageMessage associated with an exception or error.String
span_exception_stacktraceStack trace providing detailed information about the exception.String
span_exception_timeTimestamp indicating when the exception occurred.DateTime64(6)
span_exception_typeType or class of the exception.LowCardinality(String)
resource_attributes_envEnvironment or deployment environment (development, production, etc.) associated with the span.LowCardinality(String)
timestampThe timestamp when the span or event occurred.DateTime64(9)
applicationName of the application generating the span.String
serviceName of the service generating the span.String
span_nameName or label for the span, typically indicating the operation or activity being traced.String
span_kindIndicates whether the span represents a client or server-side span, or other categorizations like internal or external.String
host_nameName of the host where the span originated.String
http_status_codeHTTP status code associated with an HTTP-related span.Nullable(Int32)
status_codeHTTP or application-specific status code associated with the span.String
start_timeTimestamp marking the start time of the span.DateTime64(9)
call_countNumber of calls or invocations related to the span.UInt64
error_countNumber of errors encountered related to the span.UInt64
duration_sumSum of durations for similar operations or spans.Float64
duration_bucket_countsDistribution of durations into predefined buckets.Array(UInt64)
duration_explicit_boundsExplicit boundaries defining the duration buckets.Array(Float64)
environmentThe environment in which the span or event occurred.LowCardinality(String)
host_ipIP address of the host where the span originated.LowCardinality(String)
metadataAdditional metadata or information related to the span, potentially including custom tags or labels.JSON
applicationName of the application generating the span.String
serviceName of the service generating the span.String
host_ipIP address of the host where the span originated.String
host_nameName of the host where the span originated.String
timestampThe timestamp when the span or event occurred.DateTime64(9)
environmentThe environment in which the span or event occurred.LowCardinality(String)
span_nameName or label for the span, typically indicating the operation or activity being traced.String
spanIdIdentifier for a specific span within a trace.String
traceIdUnique identifier for a distributed trace that includes multiple spans.String