You can use OpenTelemetry to collect trace data to Simple Log Service in native mode. You can also use other trace systems to collect trace data to Simple Log Service. This topic describes the collection methods that are provided by Simple Log Service to collect trace data.
Collection methods
Simple Log Service provides the following methods to collect trace data:
Use OpenTelemetry, Jaeger, Zipkin, and OpenCensus to directly collect trace data to Simple Log Service. If you use Jaeger, only HTTPS and gRPC communication protocols are supported.
Use OpenTelemetry Collector to forward trace data from OpenTelemetry, Jaeger, Zipkin, OpenCensus, Amazon Web Services (AWS) X-Ray, and Splunk SignalFx platforms to Simple Log Service. If you forward trace data from Jaeger, all communication protocols are supported.
Use Logtail to forward trace data from SkyWalking to Simple Log Service.
Use a custom protocol to collect trace data to Simple Log Service. Then, you can convert the format of the trace data to the OpenTelemetry format by using the data transformation feature of Simple Log Service.
Instructions on how to select a collection method
Before you select a method to collect trace data to Simple Log Service, make sure that the trace data is generated and take note of the following instructions:
We recommend that you use OpenTelemetry to collect trace data to Simple Log Service.
OpenTelemetry is a globally recognized standard that is used to collect trace data. Multiple open source software complies with the OpenTelemetry standard. This helps connect with all required components.
You must use the OpenTracing and OpenTelemetry standards to connect with open source systems.
If you do not use an open source standard, we recommend that you use the same collection method for all services from which you want to collect trace data in your trace system. Otherwise, the trace data that is collected may be incomplete.
Details of collection methods
The following table describes the collection methods supported by Simple Log Service based on the automation levels of instrumentation and collection complexity. Only the following commonly used trace platforms are described in the table: OpenTelemetry, SkyWalking, Jaeger, and Zipkin.
Collection methods of trace data in different programming languages
You can collect trace data to Simple Log Service by using automatic or semi-automatic instrumentation.
Automatic instrumentation: Developers do not need to modify frameworks or code. Trace systems automatically set up instrumentation.
Semi-automatic instrumentation: Developers need to manually install dependencies or modify code.
Platform
Collection method
Automation level
Collection complexity
Java
Automatic
Low
Automatic
Medium
Automatic
Medium
Golang
Semi-automatic
Low
Semi-automatic
Low
Python
Semi-automatic
Medium
Semi-automatic
Medium
NodeJS
Semi-automatic
Medium
Semi-automatic
Medium
PHP
Manual
Relatively high
C++
Manual
Relatively high
C#
Semi-automatic
Medium
Semi-automatic
Medium
Automatic
Medium
Rust
Manual
Relatively high
Manual
Relatively high
Ruby
Manual
Relatively high
Manual
Relatively high
Android
N/A
Low
iOS
N/A
Low
Web
N/A
Low
Mini program
N/A
Low
Collection methods of trace data on different trace platforms
Trace platform
Collection method
Collection complexity
OpenTelemetry
Low
Medium
Jaeger
Low
Medium
Zipkin
Low
Medium
SkyWalking
Medium
OpenCensus
Medium
AWS X-Ray
High
Splunk SignalFx
High
Scenarios
Build a trace system
The first time your system connects to the Trace application, we recommend that you use OpenTelemetry to upload your trace data to Simple Log Service. If the OpenTelemetry-based collection method is unavailable for data in a specific programming language or the method does not meet your requirements, you can use the OpenTracing or OpenCensus-based collection method. For example, you can use Jaeger and Zipkin to collect trace data.
Upgrade an existing trace system
If your current system uses the trace feature, select a collection method based on your business requirements.
The trace system is running in a stable manner.
If trace data in the trace system can be uploaded to OpenTelemetry Collector, you can use OpenTelemetry Collector to forward the trace data to Simple Log Service.
If the trace system uses a custom protocol or a protocol other than the OpenTelemetry or OpenTracing protocol, you can write trace data to a file. Then, you can upload the file to Simple Log Service by using Logtail, and use the data transformation feature to convert the data format to the OpenTelemetry format.
The trace system does not meet your business requirements, or the trace system needs to be upgraded.
If the trace system uses the OpenTracing or OpenCensus protocol, you can migrate trace data in a smooth manner. You need to upload trace data from the trace system to OpenTelemetry Collector and use OpenTelemetry Collector to forward the trace data to Simple Log Service. During this process, the original protocol is gradually replaced with the OpenTelemetry protocol. Then, you can use the OpenTelemetry protocol to collect trace data to Simple Log Service.
If the trace system uses another protocol other than the OpenTracing or OpenCensus protocol, you must directly replace the protocol. Otherwise, trace data may be incomplete during the replacement process.
Deploy workloads in an on-premises trace system
If you deploy your workloads in a data center and only some gateways connect to the Internet or Express Connect circuits, you can deploy OpenTelemetry Collector on the gateways. Then, you can send trace data from other machines to the gateways and use OpenTelemetry Collector to forward the trace data to Simple Log Service.
Trace Demo
Simple Log Service provides demos on how to collect trace data in different programming languages. For more information, see Trace Demos.