OpenTelemetry Overview



Overview

vFunction Distributed Architectural Observability (AO) supports programming languages that are compatible with Open Telemetry (OTEL).

The vFunction Server is installed in an organization’s infrastructure and is configured to listen to OTEL-enabled Microservices. The OTEL-enabled Microservices can be configured to send data to an OTEL Collector which forwards the data to the vFunction Server for analysis for existing OpenTelemetry organizations. Or, OTEL-enabled Microservices can be configured to send data directly to the vFunction Server for analysis for new OpenTelemetry organizations.

vFunction utilizes the OTEL capabilities in order to provide organizations with a comprehensive view of the services that make up an application, the interactions and dependencies between services, and changes to the services over time. The primary view for a Distributed Application is the vFunction Service Map, a visual representation of the application’s architecture as a graph. This graph displays nodes that represent services and edges that represent dependencies and interactions between services.

To populate the Service Map Graph, vFunction leverages OTEL for trace collection and/or integrates with Appication Performance Monitoring (APM) providers to fetch relevant service information. During defined learning periods, vFunction collects traces from the OTEL backend and queries the application’s APM provider for service details. vFunction processes the collected data into a single Service Map, providing a comprehensive view of the distributed application.


Compatibility Matrix

The following matrix summarizes the languages supported by Open Telemetry (OTEL) and if the language can be used with or without code changes. As OTEL continues to evolve, support for additional languages and improvements to existing integrations are expected, all of which are expected to be supported by vFunction.

Language Supported without code changes Supported with code changes
C++ No Yes
.NET Yes Yes
Erlang/Elixir No Yes
Go No Yes
Java Yes Yes
JavaScript Yes Yes
PHP Yes Yes
Python No Yes
Ruby No Yes
Rust No Yes
Swift No Yes

Installation Workflows


New to OTEL - Install the OpenTelemetry Agent