Download the PHP package shopware/opentelemetry without Composer

On this page you can find all versions of the php package shopware/opentelemetry. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package opentelemetry

OpenTelemetry for Shopware 6

This is not an official OpenTelemetry project. This repository contains a Shopware-specific implementation using OpenTelemetry standards.

Requirements

Installation

You also need to install the OpenTelemetry SDK and selected exporter and transport. Below is an example with OTLP over gRPC:

Configuration

Enable OpenTelemetry SDK with the following environment variables:

This extension can be disabled via:

You will need to configure the exporter to send the data to a collector.

Here is an example with OTLP over gRPC:

Enabling Shopware custom tracing

To enable tracing for Shopware, you need to add the following config:

Adding custom spans

This spans are working with all profilers (Symfony Profiler bar, Tideways, ...) and are not exclusive to OpenTelemetry.

Forward logs to OpenTelemetry

You can forward logs to OpenTelemetry with the following configuration:

Transport metrics to OpenTelemetry

Shopware core collects metrics through its telemetry abstraction. This bundle registers a transport that sends those metrics to OpenTelemetry.

Enable the transport with the following configuration:

The OpenTelemetry SDK must be configured to send metrics to the collector. It uses the same environment variables as tracing. Example:

Metrics are only emitted when the TELEMETRY_METRICS feature flag is enabled in Shopware. Since Shopware 6.7.12, shopware.telemetry.metrics.enabled must be true as well.

Metric names

Metric names are prefixed with the namespace configured in Shopware core (shopware.telemetry.metrics.namespace). Shopware core passes it to transports since version 6.7.12. On older versions the prefix io.opentelemetry.contrib.php.shopware is used.

This bundle has no namespace option of its own. The option open_telemetry_shopware.metrics.namespace from 0.2.0-alpha is deprecated and ignored. It will be removed in 1.0.

Flushing

Since Shopware 6.7.12, core calls flush() on every transport at the end of each request and console command, and about every 60 seconds inside a running Messenger worker. This transport then exports the collected metrics immediately, so metrics from long-running workers do not wait until the worker stops.

On older Shopware versions the metrics are exported once, when the PHP process shuts down.

The method OpenTelemetryMetricTransport::forceFlush() is deprecated. Use flush() instead.

Shopware compatibility

Shopware version Behavior
below 6.6.7 No metrics support in core. Tracing and log forwarding still work.
6.6.7 to 6.7.11 Metrics are exported when the PHP process shuts down. Metric names are prefixed with io.opentelemetry.contrib.php.shopware.
6.7.12 and later Metrics are flushed by core (see above). Metric names are prefixed with the namespace from Shopware core.

The telemetry abstraction in Shopware core is experimental until Shopware 6.8. This bundle stays at version 0.x until then.

Temporality configuration

OpenTelemetry PHP SDK does not support storage for accumulation of metrics. As PHP processes are short-lived, it's best to emit metrics with delta temporality and aggregate them on receiving side. Unfortunately at the moment of writing this OpenTelemetry Collector does not support transforming delta temporality metrics to cumulative. The feature is in the development, the progress can be tracked here.

Meanwhile the issue can be handled either by implementing aggregation manually or use metrics backend that can work with delta temporality. We've successfully tested this with DataDog.

Some links:


All versions of opentelemetry with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-opentelemetry Version *
monolog/monolog Version 2.* || 3.*
shopware/core Version ^6.6
open-telemetry/api Version ^1.1
open-telemetry/sem-conv Version ^1.37
symfony/http-kernel Version *
symfony/http-client-contracts Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package shopware/opentelemetry contains the following files

Loading the files please wait ...