Tags: Zainal21/opentelemetry-php
Tags
Added B3Propagator for B3 Single Header (open-telemetry#691) * Added B3Propagator Class to handle two configurations and storing debug flag in the returned context * Updated B3Propagator extract according to the clarification in the specs; updated test cases
Add metrics implementation (open-telemetry#750) * Add metrics implementation * Apply cs-fixer * Downgrade to php 7.4 * [TODO] Suppress phan for now * Add basic example * [TODO] Remove outdated prometheus example for now * Add otlp metric converter * Add metric stream tests * Downgrade to php 7.4 - fix asynchronous counter instrument type * Add missing psalm-suppress annotations * Add `ext-gmp` to composer suggest * Fix `Sdk` -> `SDK` * Remove `_bridge.php` * Add array typehints * Add `Interface` suffix to interfaces * Add aggregation / attribute processor / staleness handler tests * Apply rector * Simplify filtered attribute processor * Move instrument deduplication to meter Allows removing view registry dependency from `MetricFactory`. Should ideally turn of staleness handling for asynchronous instruments with permanently registered callbacks (drop all `::onStale()` callbacks and prevent addition of new callbacks). * Allow injecting metric factory * Release `::onStale()` callbacks if permanent observer callback registered * Add `MultiObserver` tests * Add php-doc for exporter temporality * Resolve phan issues * Add note about forward compatibility * Add exemplar tests * Remove special handling for callbacks being registered multiple times Was mainly a side-effect of using `spl_object_id()`; lead to inconsistent behavior between providing same and identical callbacks; reverting back to incrementing index, keyspace is large enough. * Add basic `Meter` / `MeterProvider` tests * Add view `SelectionCriteria` tests * Allow `MetricReader`s to configure default aggregation - move default aggregation handling to metric reader / metric exporter - move view registration to meter provider constructor - move exemplar reservoir creation to aggregation to support user implementations - remove `AttributeProcessor` from view as baggage access was dropped from spec - deduplicate metric streams * Add support for weakening `$this` reference of asynchronous callbacks * Minor improvements - add missing `Interface` suffix - move callback destructors to metric observer to not detach if meter and meter provider are out of scope - simplify `::viewRegistrationRequests()` by readding fallback view * Add OTLP metric exporter * Log export failure * Minor improvements - rename `MetricObserver::weakMap()` to `::destructors()` to better reflect usage` - move `ReferenceCounter::acquire()` call to corresponding `MetricObserver::observe()` call for consistency - cache instrumentation scope id in `Meter` to avoid repeated calls to `serialize()` - remove obsolete instrument type check from `ViewProjection`, leftover from supporting aggregation per type * Suppress `PhanAccessMethodInternal` due to being too strict for our usecase * Add workaround for observer segfault if destruct is initiated by `WeakMap` key going out of scope * Mark internal classes as internal * Add in-memory and stream exporter * Add metric converter test * Add metric observer tests * Add view registry tests * Add metric reader tests * Improve stream test coverage * Improve meter test coverage * Apply rector * Add delayed staleness handler
Tracer references tests (open-telemetry#759) * adding tests for tracer provider behaviour a recent bug highlighted that if there is no reference to a tracer provider, then the shared state will shutdown, even if that shared state is being used by active tracers. Adding a phpdoc comment explaining this behavior, and some tests to demonstrate it * moving tests into integration * removing accidental covers annotation
Bump guzzlehttp/guzzle in /examples/distributed-tracing/src (open-tel… …emetry#722) Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](guzzle/guzzle@7.4.4...7.4.5) --- updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Added B3MultiPropagater (open-telemetry#680) * Added B3MultiPropagater * Added static self and removed case insensitive getter function * Added unit tests for B3MultiPropagator class * Refactored B3MultiPropagator and added tests in B3MultiPropagatorTest * Added description for B3MultiPropagator
Fixing protobuf generation and InstrumentationScope (open-telemetry#665) * updating proto generation switching over to using opentelemetry-proto's own mechanism for generating protobuf interfaces, and updating interfaces to latest version * downgrade protobuf interfaces to 0.14.0 this is the latest version that seems to work with out grpc exporter, further investigation required for 0.15.0+ * tidy up script * renaming InstrumentationLibrary to InstrumentationScope and bumping protobuf InstrumentationLibrary is now deprecated in favour of InstrumentationScope. Making this change resolves issues with grpc+protobuf exports being ignored by the otel collector, so we now can update the proto interfaces to latest. * rename collector docker-compose file
Updating .github workflow for psalm-security-analysis based on output… … from action run (open-telemetry#643)
Map OTEL Resources to Jaeger Process Tags (open-telemetry#636) * Commit in progress work because Gitpod is weird * Finish initial stab at the changes * Forgot to update the exporter * Add in proper handling of serialization of ResourceInfo * ksort doesn't return the array... * Only PHP 8.1 supports key-ed array destructuring * Creating some adapters to break the hard dependency on Batch to make testing easier * Refactoring to break the hard dependency on Batch * Add initial unit tests around the new logic in HttpSender * Some refactoring of the test's helpers * Another small refactor * Some more refactoring * Rename ResourceInfo's test file to match it's file name * Move a test our of REsourceInfoTest into a more appropriate file * Add some basic conformance tests around the new ResourceInfo::serialize method * Add a test to try and catch future properties that aren't added to ResourceInfo::serialize * CLean up comments * Replace string with constant * Improve variable names * Cleaning up comment * Split out tag creation into a helper class * Phan didn't like the type docs * Fix style * Fix tests after merge from main * Fix coverage reporting issues on 2 of the new files * Fix style * Rename vals to values * Shortening the batch adapter factory method name to create * Inline a method call * Inline some method calls * Shorten factory method to just "create" * Inline some code * Split assertions into 3 tests * Rename parameter in interface implementation for psalm + update the rest of the file to match Co-authored-by: Timo Michna <timomichna@yahoo.de>
Move and refactor clock components (open-telemetry#633) * Move Clock classes to SDK\Common\Time namespace * Move conversion methods to Util class * Implement StopWatch * Implement ClockFactory * Fix StopwatchInterface * Finalize ClockFactory * Implement StopWatchFactory * Deprecate AbstractClock * Add BC alias * Add initial start time to StopWatch * Unify and optimize SystemClock methods * Use ClockFactory in Span * Use ClockFactory in BatchSpanProcessor * Use ClockInterface in BatchSpanProcessorTest * Use ClockFactory in SpanData * Use ClockFactory in examples * Add millisToNanos Util method * Use StopWatch in BatchSpanProcessor * Make Phan happy * Make Psalm happy * Make PHPUnit happy * Remove sllh/composer-versions-check from allowed composer plugins * Use correct assertion * Use correct assertion * Assert difference
PreviousNext