Application Instrumentation

Collect and connect application level traces, logs and traces across many distributed services using a Middleware SDK, OTel's native SDKs, or auto-instrumentation with Kubernetes.

Application SDKs

Middleware supports all major programming languages with support for more being added weekly. The most commonly used are Java, Python, Go, and Node.

For a complete list of supported languages see the Application Monitoring Installation Pages.

Native OTel SDK

If you have an existing OpenTelemetry collector built into your infrastructure you can add Middleware as an endpoint to that collector. The complete Middleware platform supports the OTel collector and SDKs without any special integration work.

For smaller projects that only leverage OTels SDK where you would to add Middleware as an exporter, see our OTel Custom Ingestion documentation.

For larger projects with one or many OTel Collectors running, see our OTel Collector Contrib documentation.

Auto-instrumentation

For a quick way to complete Observability, auto-instrumentation with Kubernetes enables you to collect metrics, traces and logs from your entire application ecosystem without having to change application level code.

Serverless deployments

Support for most languages running in a Serverless environment is available if you have shell access. You can find each language's approach documented inside the respective Application Monitoring Installation Page.

Services that are completely managed, e.g. Lambda, require broader integrations.

We always recommend using a Host Agent unless your infrastructure prohibits doing so since Host Agents are more performant and feature rich.

Viewing Data

  1. The APM section of Middleware includes default metric dashboards, a trace viewer and error reporting.
  2. The Log Explorer gives you complete access to all logs emitted.
  3. The Dashboard Builder provides an easy GUI for creating custom reports and analysis.
  4. The Alerts section enables you to create and act on proactive monitors.

For more information on any of the above features, refer to the Guides section of this documentation.