Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 0 additions & 77 deletions src/SDK/Common/Attribute/FilteredAttributesBuilder.php

This file was deleted.

30 changes: 0 additions & 30 deletions src/SDK/Common/Attribute/FilteredAttributesFactory.php

This file was deleted.

27 changes: 1 addition & 26 deletions src/SDK/Trace/SpanLimitsBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
namespace OpenTelemetry\SDK\Trace;

use OpenTelemetry\SDK\Common\Attribute\Attributes;
use OpenTelemetry\SDK\Common\Attribute\FilteredAttributesFactory;
use OpenTelemetry\SDK\Common\Configuration\Configuration;
use OpenTelemetry\SDK\Common\Configuration\Variables as Env;
use OpenTelemetry\SemConv\TraceAttributes;
use const PHP_INT_MAX;

class SpanLimitsBuilder
Expand All @@ -31,8 +29,6 @@ class SpanLimitsBuilder
/** @var ?int Maximum allowed attribute per span link count */
private ?int $attributePerLinkCountLimit = null;

private bool $retainGeneralIdentityAttributes = false;

/**
* @param int $attributeCountLimit Maximum allowed attribute count per record
*/
Expand Down Expand Up @@ -93,18 +89,6 @@ public function setAttributePerLinkCountLimit(int $attributePerLinkCountLimit):
return $this;
}

/**
* @param bool $retain whether general identity attributes should be retained
*
* @see https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/attributes.md#general-identity-attributes
*/
public function retainGeneralIdentityAttributes(bool $retain = true): SpanLimitsBuilder
{
$this->retainGeneralIdentityAttributes = $retain;

return $this;
}

/**
* @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#span-limits
* @phan-suppress PhanDeprecatedClassConstant
Expand All @@ -128,17 +112,8 @@ public function build(): SpanLimits
$attributeValueLengthLimit = null;
}

$spanAttributesFactory = Attributes::factory($attributeCountLimit, $attributeValueLengthLimit);

if (!$this->retainGeneralIdentityAttributes) {
$spanAttributesFactory = new FilteredAttributesFactory($spanAttributesFactory, [
TraceAttributes::USER_ID,
TraceAttributes::USER_ROLES,
]);
}

return new SpanLimits(
$spanAttributesFactory,
Attributes::factory($attributeCountLimit, $attributeValueLengthLimit),
Attributes::factory($attributePerEventCountLimit, $attributeValueLengthLimit),
Attributes::factory($attributePerLinkCountLimit, $attributeValueLengthLimit),
$eventCountLimit,
Expand Down
2 changes: 0 additions & 2 deletions tests/Integration/SDK/SpanLimitsBuilderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ public function test_span_length_limits_builder_uses_environment_variable(): voi
{
$this->setEnvironmentVariable('OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT', 9);
$builder = new SpanLimitsBuilder();
$builder->retainGeneralIdentityAttributes();
$spanLimits = $builder->build();
$this->assertEquals(Attributes::factory(128, 9), $spanLimits->getAttributesFactory());
}
Expand All @@ -31,7 +30,6 @@ public function test_span_length_limits_builder_uses_configured_value(): void
{
$this->setEnvironmentVariable('OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT', 9);
$builder = new SpanLimitsBuilder();
$builder->retainGeneralIdentityAttributes();
$builder->setAttributeValueLengthLimit(201);
$spanLimits = $builder->build();
$this->assertEquals(Attributes::factory(128, 201), $spanLimits->getAttributesFactory());
Expand Down
49 changes: 0 additions & 49 deletions tests/Integration/SDK/TracerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,20 @@

namespace OpenTelemetry\Tests\Integration\SDK;

use OpenTelemetry\API\Behavior\Internal\Logging;
use OpenTelemetry\API\Trace as API;
use OpenTelemetry\API\Trace\NonRecordingSpan;
use OpenTelemetry\API\Trace\SpanContext;
use OpenTelemetry\API\Trace\TraceState;
use OpenTelemetry\Context\Context;
use OpenTelemetry\SDK\Common\Attribute\AttributesInterface;
use OpenTelemetry\SDK\Common\Configuration\Variables;
use OpenTelemetry\SDK\Trace\Sampler\AlwaysOffSampler;
use OpenTelemetry\SDK\Trace\SamplerInterface;
use OpenTelemetry\SDK\Trace\SamplingResult;
use OpenTelemetry\SDK\Trace\Span;
use OpenTelemetry\SDK\Trace\SpanBuilder;
use OpenTelemetry\SDK\Trace\SpanExporter\InMemoryExporter;
use OpenTelemetry\SDK\Trace\SpanLimitsBuilder;
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor;
use OpenTelemetry\SDK\Trace\SpanProcessorInterface;
use OpenTelemetry\SDK\Trace\TracerProvider;
use OpenTelemetry\SDK\Trace\TracerProviderFactory;
use OpenTelemetry\SemConv\TraceAttributes;
use OpenTelemetry\Tests\TestState;
use PHPUnit\Framework\Attributes\CoversNothing;
use PHPUnit\Framework\Attributes\Group;
Expand Down Expand Up @@ -111,47 +105,4 @@ public function test_factory_returns_noop_tracer_when_sdk_disabled(): void
$tracer = $tracerProvider->getTracer('foo');
$this->assertInstanceOf(API\NoopTracer::class, $tracer);
}

public function test_general_identity_attributes_are_dropped_by_default(): void
{
Logging::disable();
$exporter = new InMemoryExporter();
$tracerProvider = new TracerProvider(new SimpleSpanProcessor($exporter));
$tracer = $tracerProvider->getTracer('test');
$tracer->spanBuilder('test')
->setAttribute(TraceAttributes::USER_ID, 'username')
->setAttribute(TraceAttributes::USER_ROLES, 'admin')
->startSpan()
->end();

$tracerProvider->shutdown();

/** @var AttributesInterface $attributes */
$attributes = $exporter->getSpans()[0]->getAttributes();
$this->assertCount(0, $attributes);
$this->assertSame(2, $attributes->getDroppedAttributesCount());
}

public function test_general_identity_attributes_are_retained_if_enabled(): void
{
$exporter = new InMemoryExporter();
$spanLimits = (new SpanLimitsBuilder())
->retainGeneralIdentityAttributes()
->build();
$tracerProvider = new TracerProvider(new SimpleSpanProcessor($exporter), null, null, $spanLimits);
$tracer = $tracerProvider->getTracer('test');
$tracer->spanBuilder('test')
->setAttribute(TraceAttributes::ENDUSER_ID, 'username')
->setAttribute(TraceAttributes::ENDUSER_ROLE, 'admin')
->setAttribute(TraceAttributes::ENDUSER_SCOPE, 'read:message, write:files')
->startSpan()
->end();

$tracerProvider->shutdown();

/** @var AttributesInterface $attributes */
$attributes = $exporter->getSpans()[0]->getAttributes();
$this->assertCount(3, $attributes);
$this->assertSame(0, $attributes->getDroppedAttributesCount());
}
}
45 changes: 0 additions & 45 deletions tests/Unit/SDK/Common/Attribute/FilteredAttributesTest.php

This file was deleted.

3 changes: 0 additions & 3 deletions tests/Unit/SDK/Trace/SpanLimitsBuilderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ class SpanLimitsBuilderTest extends TestCase
public function test_span_limits_builder_uses_default_values(): void
{
$builder = new SpanLimitsBuilder();
$builder->retainGeneralIdentityAttributes();
$spanLimits = $builder->build();
$this->assertEquals(Attributes::factory(128), $spanLimits->getAttributesFactory());
}
Expand All @@ -30,7 +29,6 @@ public function test_span_limits_builder_uses_environment_variable(): void
{
$this->setEnvironmentVariable('OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT', 111);
$builder = new SpanLimitsBuilder();
$builder->retainGeneralIdentityAttributes();
$spanLimits = $builder->build();
$this->assertEquals(Attributes::factory(111), $spanLimits->getAttributesFactory());
}
Expand All @@ -40,7 +38,6 @@ public function test_span_limits_builder_uses_configured_value(): void
{
$this->setEnvironmentVariable('OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT', 111);
$builder = new SpanLimitsBuilder();
$builder->retainGeneralIdentityAttributes();
$builder->setAttributeCountLimit(222);
$spanLimits = $builder->build();
$this->assertEquals(Attributes::factory(222), $spanLimits->getAttributesFactory());
Expand Down
Loading