The OpenTelemetry Collector is a vendor agnostic way to receive, process and export telemetry data. It is an open-source project under the stewardship of the OpenTelemetry Project. It allows you to receive telemetry information such as metrics, logs, or traces from different sources in different formats, process the information, and then send it to various open source or commercial backend storage and analysis solutions.
The OpenTelemetry Collector is a processing engine. From the perspective of traces, it can receive trace information in a number of formats, such as the OpenTelemetry standard OLTP, or various legacy protocols such as Jaeger or Zipkin. It can then process the traces, allowing the spans to be annotated, modifying or otherwise changing the data. It then allows the trace data to be output to one or more backend trace datastores.
The OpenTelemetry Collector is the method recommended by the OpenTelemetry community to collect, process, and export trace data from your system. It is made to sit between your application and the trace data store. Tracetest leverages the capabilities of the OpenTelemetry Collector to pinpoint the traces that were generated by a Tracetest test and route this data directly to the Tracetest server. You can continue to send your normal traces to your current trace data store, whether that is an open source tool or a vendor. By utilizing the capabilities of the OpenTelemtry Collector, Tracetest is able to work with any distributed system that you have instrumented utilizing OpenTelemtry based standards.
Tracetest uses the traces provided by your system to enable a totally new way to do distributed testing called trace-based testing. Trace-based testing enables you to test your entire distributed flow, asserting against not only the response of a call to your system, but checking that all the underlying processes and services work as intended.
Tracetest works with the OpenTelemetry collector via a pipeline defined in your OpenTelemetry Collector configuration. Typically, you would define a second pipeline that specifies that Tracetest tagged spans should be routed to the Tracetest server, while continuing to send your existing traces to your existing tracing solution.