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
15 changes: 15 additions & 0 deletions .phpcs.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<ruleset name="DD Trace PHP">
<description>Sniffs for DD Trace PHP</description>

<file>./</file>

<rule ref="PSR12"/>

<rule ref="Generic.Commenting.Todo"/>
<rule ref="Generic.Commenting.Fixme"/>
<rule ref="Generic.Commenting.DocComment.MissingShort">
<severity>0</severity>
</rule>
<exclude-pattern>*/vendor/*</exclude-pattern>
</ruleset>
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"fix-lint": "phpcbf --standard=ZEND --standard=PSR2 --ignore=*/vendor/* ./",
"lint": "phpcs --standard=ZEND --standard=PSR2 --ignore=*/vendor/* ./",
"fix-lint": "phpcbf",
"lint": "phpcs",
"run-agent": [
"docker run -p 8126:8126 -e \"DD_APM_ENABLED=true\" -e \"DD_BIND_HOST=0.0.0.0\" -e \"DD_API_KEY=invalid_key_but_this_is_fine\" --rm datadog/docker-dd-agent",
"while ! echo exit | nc localhost 8126; do sleep 1; done"
Expand Down
11 changes: 7 additions & 4 deletions src/DDTrace/Tracer.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,17 @@ public function __construct(Transport $transport = null, array $propagators = nu
$this->config = array_merge($this->config, $config);
}

/**
* @return Tracer
*/
public static function noop()
{
return new self(
new NoopTransport,
new NoopTransport(),
[
Formats\BINARY => new NoopPropagator,
Formats\TEXT_MAP => new NoopPropagator,
Formats\HTTP_HEADERS => new NoopPropagator,
Formats\BINARY => new NoopPropagator(),
Formats\TEXT_MAP => new NoopPropagator(),
Formats\HTTP_HEADERS => new NoopPropagator(),
],
['enabled' => false]
);
Expand Down
12 changes: 6 additions & 6 deletions tests/Integration/Transport/HttpTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ final class HttpTest extends Framework\TestCase
{
public function testSpanReportingFailsOnUnavailableAgent()
{
$tracer = new Tracer(new Noop);
$tracer = new Tracer(new Noop());

$logger = $this->prophesize(LoggerInterface::class);
$logger
Expand All @@ -23,7 +23,7 @@ public function testSpanReportingFailsOnUnavailableAgent()
)
->shouldBeCalled();

$httpTransport = new Http(new Json, $logger->reveal(), [
$httpTransport = new Http(new Json(), $logger->reveal(), [
'endpoint' => 'http://0.0.0.0:8127/v0.3/traces'
]);

Expand All @@ -44,12 +44,12 @@ public function testSpanReportingFailsOnUnavailableAgent()

public function testSpanReportingSuccess()
{
$tracer = new Tracer(new Noop);
$tracer = new Tracer(new Noop());

$logger = $this->prophesize(LoggerInterface::class);
$logger->debug(Argument::any())->shouldNotBeCalled();

$httpTransport = new Http(new Json, $logger->reveal(), [
$httpTransport = new Http(new Json(), $logger->reveal(), [
'endpoint' => 'http://0.0.0.0:8126/v0.3/traces'
]);

Expand Down Expand Up @@ -79,12 +79,12 @@ public function testSpanReportingSuccess()

public function testSilentlySendTraces()
{
$tracer = new Tracer(new Noop);
$tracer = new Tracer(new Noop());

$logger = $this->prophesize(LoggerInterface::class);
$logger->debug(Argument::any())->shouldNotBeCalled();

$httpTransport = new Http(new Json, $logger->reveal(), [
$httpTransport = new Http(new Json(), $logger->reveal(), [
'endpoint' => 'http://0.0.0.0:8126/v0.3/traces'
]);

Expand Down
10 changes: 5 additions & 5 deletions tests/Unit/ScopeManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public function testGetActiveFailsWithNoActiveSpans()

public function testActivateSuccess()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$span = $tracer->startSpan(self::OPERATION_NAME);
$scopeManager = new ScopeManager();
$scopeManager->activate($span, false);
Expand All @@ -28,22 +28,22 @@ public function testActivateSuccess()

public function testGetScopeReturnsNull()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$tracer->startSpan(self::OPERATION_NAME);
$this->assertNull($tracer->getScopeManager()->getActive());
}

public function testGetScopeSuccess()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$span = $tracer->startSpan(self::OPERATION_NAME);
$scope = $tracer->getScopeManager()->activate($span, false);
$this->assertSame($scope, $tracer->getScopeManager()->getActive());
}

public function testDeactivateSuccess()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$span = $tracer->startSpan(self::OPERATION_NAME);
$scopeManager = new ScopeManager();
$scope = $scopeManager->activate($span, false);
Expand All @@ -53,7 +53,7 @@ public function testDeactivateSuccess()

public function testCanManageMultipleScopes()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$scopeManager = new ScopeManager();

$scope = $scopeManager->activate($tracer->startSpan(self::OPERATION_NAME), false);
Expand Down
16 changes: 8 additions & 8 deletions tests/Unit/TracerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public function testStartSpanAsNoop()

public function testCreateSpanSuccessWithExpectedValues()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$startTime = Time\now();
$span = $tracer->startSpan(self::OPERATION_NAME, [
'tags' => [
Expand All @@ -46,7 +46,7 @@ public function testCreateSpanSuccessWithExpectedValues()
public function testStartSpanAsChild()
{
$context = SpanContext::createAsRoot();
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$span = $tracer->startSpan(self::OPERATION_NAME, [
'child_of' => $context,
]);
Expand All @@ -55,14 +55,14 @@ public function testStartSpanAsChild()

public function testStartActiveSpan()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$scope = $tracer->startActiveSpan(self::OPERATION_NAME);
$this->assertEquals($scope, $tracer->getScopeManager()->getActive());
}

public function testStartActiveSpanAsChild()
{
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$parentScope = $tracer->startActiveSpan(self::OPERATION_NAME);
$childScope = $tracer->startActiveSpan(self::ANOTHER_OPERATION_NAME);
$this->assertEquals($childScope, $tracer->getScopeManager()->getActive());
Expand All @@ -75,7 +75,7 @@ public function testInjectThrowsUnsupportedFormatException()
$context = SpanContext::createAsRoot();
$carrier = [];

$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$tracer->inject($context, self::FORMAT, $carrier);
}

Expand All @@ -86,15 +86,15 @@ public function testInjectCallsTheRightInjector()

$propagator = $this->prophesize(Propagator::class);
$propagator->inject($context, $carrier)->shouldBeCalled();
$tracer = new Tracer(new NoopTransport, [self::FORMAT => $propagator->reveal()]);
$tracer = new Tracer(new NoopTransport(), [self::FORMAT => $propagator->reveal()]);
$tracer->inject($context, self::FORMAT, $carrier);
}

public function testExtractThrowsUnsupportedFormatException()
{
$this->expectException(UnsupportedFormat::class);
$carrier = [];
$tracer = new Tracer(new NoopTransport);
$tracer = new Tracer(new NoopTransport());
$tracer->extract(self::FORMAT, $carrier);
}

Expand All @@ -105,7 +105,7 @@ public function testExtractCallsTheRightExtractor()

$propagator = $this->prophesize(Propagator::class);
$propagator->extract($carrier)->shouldBeCalled()->willReturn($expectedContext);
$tracer = new Tracer(new NoopTransport, [self::FORMAT => $propagator->reveal()]);
$tracer = new Tracer(new NoopTransport(), [self::FORMAT => $propagator->reveal()]);
$actualContext = $tracer->extract(self::FORMAT, $carrier);
$this->assertEquals($expectedContext, $actualContext);
}
Expand Down
4 changes: 2 additions & 2 deletions tests/Unit/Transport/HttpTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ final class HttpTest extends Framework\TestCase

public function testConfigWithDefaultValues()
{
$httpTransport = new Http(new Json, new NullLogger);
$httpTransport = new Http(new Json(), new NullLogger());
$this->assertEquals('http://localhost:8126/v0.3/traces', $httpTransport->getConfig()['endpoint']);
}

public function testConfig()
{
$httpTransport = new Http(new Json, new NullLogger, ['endpoint' => self::ENDPOINT]);
$httpTransport = new Http(new Json(), new NullLogger(), ['endpoint' => self::ENDPOINT]);
$this->assertEquals(self::ENDPOINT, $httpTransport->getConfig()['endpoint']);
}
}