PHP code example of couchbase / couchbase-opentelemetry

1. Go to this page and download the library: Download couchbase/couchbase-opentelemetry library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

couchbase / couchbase-opentelemetry example snippets




use Couchbase\ClusterOptions;
use Couchbase\Cluster;
use Couchbase\OpenTelemetry\OpenTelemetryRequestTracer;

// Set up an OpenTelemetry TracerProvider (using the SDK + OTLP exporter as an example)
$transport = (new \OpenTelemetry\Contrib\Otlp\OtlpHttpTransportFactory())
    ->create('https://<hostname>:<port>/v1/traces', 'application/x-protobuf');
$exporter   = new \OpenTelemetry\Contrib\Otlp\SpanExporter($transport);
$tracerProvider = new \OpenTelemetry\SDK\Trace\TracerProvider(
    new \OpenTelemetry\SDK\Trace\SpanProcessor\BatchSpanProcessor($exporter)
);

// Wrap it in the Couchbase tracer
$tracer = new OpenTelemetryRequestTracer($tracerProvider);

// Pass it to ClusterOptions
$options = new ClusterOptions();
$options->credentials('Administrator', 'password');
$options->tracer($tracer);

$cluster = Cluster::connect('couchbase://127.0.0.1', $options);



use Couchbase\ClusterOptions;
use Couchbase\Cluster;
use Couchbase\OpenTelemetry\OpenTelemetryMeter;

// Set up an OpenTelemetry MeterProvider (using the SDK + OTLP exporter as an example)
$transport = (new \OpenTelemetry\Contrib\Otlp\OtlpHttpTransportFactory())
    ->create('https://<hostname>:<port>/v1/metrics', 'application/x-protobuf');
$exporter = new \OpenTelemetry\Contrib\Otlp\MetricExporter($transport);
$meterProvider = \OpenTelemetry\SDK\Metrics\MeterProvider::builder()
    ->addReader(new \OpenTelemetry\SDK\Metrics\MetricReader\ExportingReader($exporter))
    ->build();

// Wrap it in the Couchbase meter
$meter = new OpenTelemetryMeter($meterProvider);

// Pass it to ClusterOptions
$options = new ClusterOptions();
$options->credentials('Administrator', 'password');
$options->meter($meter);

$cluster = Cluster::connect('couchbase://127.0.0.1', $options);



use Couchbase\ClusterOptions;
use Couchbase\Cluster;
use Couchbase\OpenTelemetry\OpenTelemetryRequestTracer;
use Couchbase\OpenTelemetry\OpenTelemetryMeter;

// ... set up $tracerProvider and $meterProvider as shown above ...

$tracer = new OpenTelemetryRequestTracer($tracerProvider);
$meter  = new OpenTelemetryMeter($meterProvider);

$options = new ClusterOptions();
$options->credentials('Administrator', 'password');
$options->tracer($tracer);
$options->meter($meter);

$cluster = Cluster::connect('couchbase://127.0.0.1', $options);