diff --git a/src/DDTrace/Integrations/Laravel/LaravelIntegration.php b/src/DDTrace/Integrations/Laravel/LaravelIntegration.php index 70f1294b62..65d6ee28d1 100644 --- a/src/DDTrace/Integrations/Laravel/LaravelIntegration.php +++ b/src/DDTrace/Integrations/Laravel/LaravelIntegration.php @@ -86,7 +86,7 @@ function (SpanData $span, $args, $response) use ($integration) { 'bootstrapWith', function ($app) use ($integration) { $integration->serviceName = ddtrace_config_app_name(); - if (empty($integration->serviceName)) { + if (empty($integration->serviceName) && file_exists($app->environmentPath() . '/' . $app->environmentFile())) { $app->make('Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables')->bootstrap($app); $configPath = realpath($app->configPath()); if (file_exists($configPath . '/app.php')) { @@ -468,8 +468,12 @@ public function getServiceName() return $this->serviceName; } $this->serviceName = \ddtrace_config_app_name(); - if (empty($this->serviceName) && is_callable('config')) { - $this->serviceName = config('app.name'); + try { + if (empty($this->serviceName) && is_callable('config')) { + $this->serviceName = config('app.name'); + } + } catch (\Throwable $e) { + return 'laravel'; } return $this->serviceName ?: 'laravel'; } diff --git a/src/DDTrace/Integrations/WordPress/WordPressIntegrationLoader.php b/src/DDTrace/Integrations/WordPress/WordPressIntegrationLoader.php index fb72fcdd7b..95848f7aec 100644 --- a/src/DDTrace/Integrations/WordPress/WordPressIntegrationLoader.php +++ b/src/DDTrace/Integrations/WordPress/WordPressIntegrationLoader.php @@ -235,25 +235,35 @@ function (HookData $hook) use ($integration) { hook_function('wp_templating_constants', null, function () use ($integration) { - foreach (wp_get_active_and_valid_themes() as $theme) { - if (file_exists($theme . '/functions.php')) { - install_hook( - $theme . '/functions.php', - function (HookData $hook) use ($integration, $theme) { - $span = $hook->span(); - $themeName = explode('/', $theme); - $themeName = ucfirst(end($themeName)); - WordPressIntegrationLoader::setCommonTags( - $integration, - $span, - 'load_theme', - "$themeName (theme)" - ); - $span->meta['wordpress.theme'] = $themeName; + global $wp_theme_directories; + if (empty($wp_theme_directories)) { + return; + } + $wp_theme_directories = (array) $wp_theme_directories; + foreach ($wp_theme_directories as $themeRoot) { + $dirs = scandir($themeRoot); + foreach ($dirs as $dir) { + if ($dir === '.' || $dir === '..' || $dir == 'index.php') { + continue; + } + if (file_exists($themeRoot . '/' . $dir . '/functions.php')) { + install_hook( + $themeRoot . '/' . $dir . '/functions.php', + function (HookData $hook) use ($integration, $themeRoot, $dir) { + $span = $hook->span(); + $themeName = ucfirst($dir); + WordPressIntegrationLoader::setCommonTags( + $integration, + $span, + 'load_theme', + "$themeName (theme)" + ); + $span->meta['wordpress.theme'] = $themeName; - remove_hook($hook->id); - } - ); + remove_hook($hook->id); + } + ); + } } } }); diff --git a/src/DDTrace/OpenTelemetry/Span.php b/src/DDTrace/OpenTelemetry/Span.php index d83bef5077..e459c8b8a0 100644 --- a/src/DDTrace/OpenTelemetry/Span.php +++ b/src/DDTrace/OpenTelemetry/Span.php @@ -276,6 +276,8 @@ private static function _setAttribute(SpanData $span, string $key, $value): void || \is_int($value) || (\is_array($value) && \count($value) > 0 && \is_numeric($value[0]))) { // Note: Assumes attribute with primitive, homogeneous array values $span->metrics[$key] = $value; + } elseif ($key === 'service.name') { + $span->service = $value; } else { $span->meta[$key] = $value; } diff --git a/tests/Common/SpanAssertion.php b/tests/Common/SpanAssertion.php index b39993c24a..5ce86aee34 100644 --- a/tests/Common/SpanAssertion.php +++ b/tests/Common/SpanAssertion.php @@ -34,7 +34,7 @@ final class SpanAssertion /** * @param string $name - * @param bool $error + * @param bool|string $error * @param bool $onlyCheckExistance */ private function __construct($name, $error, $onlyCheckExistance) @@ -47,12 +47,28 @@ private function __construct($name, $error, $onlyCheckExistance) /** * @param string $name * @param null|string $resource - * @param bool $error + * @param bool|string $error * @param null|string $service * @return SpanAssertion */ - public static function exists($name, $resource = null, $error = false, $service = null) - { + public static function exists( + $name, + $resource = SpanAssertion::NOT_TESTED, + $error = SpanAssertion::NOT_TESTED, + $service = SpanAssertion::NOT_TESTED + ){ + if ($error === null) { + $error = false; + } + + if ($resource === null) { + $resource = SpanAssertion::NOT_TESTED; + } + + if ($error === null) { // false is a valid value, we don't convert it + $error = SpanAssertion::NOT_TESTED; + } + return SpanAssertion::forOperation($name, $error, true) ->resource($resource) ->service($service); @@ -90,7 +106,7 @@ public static function build( /** * @param string $name - * @param bool $error + * @param bool|string $error * @param bool $onlyCheckExistence * @return SpanAssertion */ diff --git a/tests/Common/SpanChecker.php b/tests/Common/SpanChecker.php index baa930fa51..b57378e2e0 100644 --- a/tests/Common/SpanChecker.php +++ b/tests/Common/SpanChecker.php @@ -180,7 +180,8 @@ private function assertNode( private function findOne(array $graph, SpanAssertion $expectedNodeRoot, $parentName, $parenResource) { - if ($expectedNodeRoot->getResource()) { + $expectedNodeRootResource = $expectedNodeRoot->getResource(); + if ($expectedNodeRootResource && $expectedNodeRootResource !== SpanAssertion::NOT_TESTED) { // If the resource is specified, then we use it $found = array_values(array_filter($graph, function (array $node) use ($expectedNodeRoot) { return empty($node['__visited']) @@ -264,14 +265,14 @@ private function exactWildcardsMatches($expected, $actual) $normalizedExpected = $expected; $normalizedActual = $actual; - if (substr($normalizedExpected, -1) === '*') { + if (substr($normalizedExpected ?? '', -1) === '*') { // Ends with * $length = strlen($normalizedExpected) - 1; $normalizedExpected = substr($normalizedExpected, 0, $length); $normalizedActual = substr($normalizedActual, 0, $length); } - if (substr($normalizedExpected, 0, 1) === '*') { + if (substr($normalizedExpected ?? '', 0, 1) === '*') { // Starts with * $length = strlen($normalizedExpected) - 1; $normalizedExpected = substr($normalizedExpected, -$length); @@ -418,20 +419,43 @@ public function assertSpan($span, SpanAssertion $exp) TestCase::assertGreaterThan(0, $span['duration']); } - if ($exp->isOnlyCheckExistence()) { - return; - } - TestCase::assertSame( $exp->getOperationName(), isset($span['name']) ? $span['name'] : '', $namePrefix . "Wrong value for 'operation name': " . print_r($span, true) ); - TestCase::assertSame( - $exp->hasError(), - isset($span['error']) && 1 === $span['error'], - $namePrefix . "Wrong value for 'error': " . print_r($span, true) - ); + if ($exp->hasError() !== SpanAssertion::NOT_TESTED) { + TestCase::assertSame( + $exp->hasError(), + isset($span['error']) && 1 === $span['error'], + $namePrefix . "Wrong value for 'error': " . print_r($span, true) + ); + } + if ($exp->getService() !== SpanAssertion::NOT_TESTED) { + TestCase::assertSame( + $exp->getService(), + isset($span['service']) ? $span['service'] : '', + $namePrefix . "Wrong value for 'service' " . print_r($span, true) + ); + } + if ($exp->getResource() !== SpanAssertion::NOT_TESTED) { + $expectedResource = $exp->getResource(); + $actualResource = isset($span['resource']) ? $span['resource'] : ''; + TestCase::assertTrue( + $this->exactWildcardsMatches($expectedResource, $actualResource), + $namePrefix . "Wrong value for 'resource'. Exp: '$expectedResource' - Act: '$actualResource' " + . print_r($span, true) + ); + } + + foreach ($exp->getExistingTagNames(true) as $key) { + TestCase::assertArrayHasKey($key, $spanMeta); + } + + if ($exp->isOnlyCheckExistence()) { + return; + } + if ($exp->getExactTags() !== SpanAssertion::NOT_TESTED) { $filtered = []; foreach ($spanMeta as $key => $value) { @@ -522,13 +546,6 @@ function ($key) use ($pattern) { $namePrefix . "Wrong value for 'metrics' " . print_r($span, true) ); } - if ($exp->getService() != SpanAssertion::NOT_TESTED) { - TestCase::assertSame( - $exp->getService(), - isset($span['service']) ? $span['service'] : '', - $namePrefix . "Wrong value for 'service' " . print_r($span, true) - ); - } if ($exp->getType() != SpanAssertion::NOT_TESTED) { TestCase::assertSame( $exp->getType(), @@ -536,15 +553,6 @@ function ($key) use ($pattern) { $namePrefix . "Wrong value for 'type' " . print_r($span, true) ); } - if ($exp->getResource() != SpanAssertion::NOT_TESTED) { - $expectedResource = $exp->getResource(); - $actualResource = isset($span['resource']) ? $span['resource'] : ''; - TestCase::assertTrue( - $this->exactWildcardsMatches($expectedResource, $actualResource), - $namePrefix . "Wrong value for 'resource'. Exp: '$expectedResource' - Act: '$actualResource' " - . print_r($span, true) - ); - } } /** diff --git a/tests/Integrations/Elasticsearch/V1/ElasticSearchIntegrationTest.php b/tests/Integrations/Elasticsearch/V1/ElasticSearchIntegrationTest.php index 0d5ed3ee3d..656239bdd0 100644 --- a/tests/Integrations/Elasticsearch/V1/ElasticSearchIntegrationTest.php +++ b/tests/Integrations/Elasticsearch/V1/ElasticSearchIntegrationTest.php @@ -389,6 +389,8 @@ public function testScroll() ], ]); $traces = $this->isolateTracer(function () use ($client, $docs) { + $root = \DDTrace\start_trace_span(); + $root->name = "root"; // Now we loop until the scroll "cursors" are exhausted $scroll_id = $docs['_scroll_id']; while (\true) { @@ -412,31 +414,40 @@ public function testScroll() break; } } + \DDTrace\close_span(); }); - $this->assertSpans($traces, [ - SpanAssertion::exists('Elasticsearch.Serializers.SmartSerializer.deserialize'), - SpanAssertion::exists('Elasticsearch.Endpoint.performRequest'), - SpanAssertion::build( - 'Elasticsearch.Client.scroll', - 'elasticsearch', - 'elasticsearch', - 'scroll' - )->withExactTags([ - Tag::SPAN_KIND => 'client', - Tag::COMPONENT => 'elasticsearch' - ]), - SpanAssertion::exists('Elasticsearch.Serializers.SmartSerializer.deserialize'), - SpanAssertion::exists('Elasticsearch.Endpoint.performRequest'), - SpanAssertion::build( - 'Elasticsearch.Client.scroll', - 'elasticsearch', - 'elasticsearch', - 'scroll' - )->withExactTags([ - Tag::SPAN_KIND => 'client', - Tag::COMPONENT => 'elasticsearch' - ]), + $this->assertFlameGraph($traces, [ + SpanAssertion::exists('root')->withChildren([ + SpanAssertion::build( + 'Elasticsearch.Client.scroll', + 'elasticsearch', + 'elasticsearch', + 'scroll' + )->withExactTags([ + Tag::SPAN_KIND => 'client', + Tag::COMPONENT => 'elasticsearch', + '_dd.base_service' => 'phpunit', + ])->withChildren([ + SpanAssertion::exists('Elasticsearch.Endpoint.performRequest')->withChildren([ + SpanAssertion::exists('Elasticsearch.Serializers.SmartSerializer.deserialize'), + ]), + ]), + SpanAssertion::build( + 'Elasticsearch.Client.scroll', + 'elasticsearch', + 'elasticsearch', + 'scroll' + )->withExactTags([ + Tag::SPAN_KIND => 'client', + Tag::COMPONENT => 'elasticsearch', + '_dd.base_service' => 'phpunit', + ])->withChildren([ + SpanAssertion::exists('Elasticsearch.Endpoint.performRequest')->withChildren([ + SpanAssertion::exists('Elasticsearch.Serializers.SmartSerializer.deserialize'), + ]), + ]), + ]) ]); } diff --git a/tests/Integrations/Elasticsearch/V8/ElasticSearchIntegrationTest.php b/tests/Integrations/Elasticsearch/V8/ElasticSearchIntegrationTest.php index 777ccd3d06..f446fabb5d 100644 --- a/tests/Integrations/Elasticsearch/V8/ElasticSearchIntegrationTest.php +++ b/tests/Integrations/Elasticsearch/V8/ElasticSearchIntegrationTest.php @@ -365,6 +365,8 @@ public function testScroll() ], ]); $traces = $this->isolateTracer(function () use ($client, $docs) { + $root = \DDTrace\start_trace_span(); + $root->name = "root"; // Now we loop until the scroll "cursors" are exhausted $scroll_id = $docs['_scroll_id']; while (\true) { @@ -388,34 +390,44 @@ public function testScroll() break; } } + \DDTrace\close_span(); }); - $this->assertSpans($traces, [ - SpanAssertion::exists('Elastic.Transport.Serializer.JsonSerializer.unserialize', 'Elastic.Transport.Serializer.JsonSerializer.unserialize'), - SpanAssertion::exists('Psr\Http\Client\ClientInterface.sendRequest', 'sendRequest'), - SpanAssertion::exists('Elasticsearch.Endpoint.performRequest'), - SpanAssertion::build( - 'Elasticsearch.Client.scroll', - 'elasticsearch', - 'elasticsearch', - 'scroll' - )->withExactTags([ - Tag::SPAN_KIND => 'client', - Tag::COMPONENT => 'elasticsearch' - ]), - SpanAssertion::exists('Elastic.Transport.Serializer.JsonSerializer.unserialize', 'Elastic.Transport.Serializer.JsonSerializer.unserialize'), - SpanAssertion::exists('Psr\Http\Client\ClientInterface.sendRequest', 'sendRequest'), - SpanAssertion::exists('Elasticsearch.Endpoint.performRequest'), - SpanAssertion::build( - 'Elasticsearch.Client.scroll', - 'elasticsearch', - 'elasticsearch', - 'scroll' - )->withExactTags([ - Tag::SPAN_KIND => 'client', - Tag::COMPONENT => 'elasticsearch' - ]), - SpanAssertion::exists('Elastic.Transport.Serializer.JsonSerializer.unserialize', 'Elastic.Transport.Serializer.JsonSerializer.unserialize'), + + $this->assertFlameGraph($traces, [ + SpanAssertion::exists('root')->withChildren([ + SpanAssertion::exists('Elastic.Transport.Serializer.JsonSerializer.unserialize', 'Elastic.Transport.Serializer.JsonSerializer.unserialize'), + SpanAssertion::exists('Elastic.Transport.Serializer.JsonSerializer.unserialize', 'Elastic.Transport.Serializer.JsonSerializer.unserialize'), + SpanAssertion::exists('Elastic.Transport.Serializer.JsonSerializer.unserialize', 'Elastic.Transport.Serializer.JsonSerializer.unserialize'), + SpanAssertion::build( + 'Elasticsearch.Client.scroll', + 'elasticsearch', + 'elasticsearch', + 'scroll' + )->withExactTags([ + Tag::SPAN_KIND => 'client', + Tag::COMPONENT => 'elasticsearch', + '_dd.base_service' => 'phpunit', + ])->withChildren([ + SpanAssertion::exists('Elasticsearch.Endpoint.performRequest')->withChildren([ + SpanAssertion::exists('Psr\Http\Client\ClientInterface.sendRequest', 'sendRequest'), + ]), + ]), + SpanAssertion::build( + 'Elasticsearch.Client.scroll', + 'elasticsearch', + 'elasticsearch', + 'scroll' + )->withExactTags([ + Tag::SPAN_KIND => 'client', + Tag::COMPONENT => 'elasticsearch', + '_dd.base_service' => 'phpunit', + ])->withChildren([ + SpanAssertion::exists('Elasticsearch.Endpoint.performRequest')->withChildren([ + SpanAssertion::exists('Psr\Http\Client\ClientInterface.sendRequest', 'sendRequest'), + ]), + ]) + ]) ]); } diff --git a/tests/Integrations/Laravel/Octane/CommonScenariosTest.php b/tests/Integrations/Laravel/Octane/CommonScenariosTest.php index 97b06ea958..c49a0cfefe 100644 --- a/tests/Integrations/Laravel/Octane/CommonScenariosTest.php +++ b/tests/Integrations/Laravel/Octane/CommonScenariosTest.php @@ -116,16 +116,16 @@ public function testScenarioGetReturnString() SpanAssertion::build('laravel.action', 'swoole_test_app', 'web', 'simple')->withExactTags([ Tag::COMPONENT => 'laravel' ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), ]) ]); } @@ -199,16 +199,16 @@ public function testScenarioGetWithView() Tag::COMPONENT => 'laravel', ]) ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), ]) ]); } @@ -265,15 +265,15 @@ public function testScenarioGetWithException() SpanAssertion::build('laravel.action', 'swoole_test_app', 'web', 'error')->withExactTags([ Tag::COMPONENT => 'laravel' ])->setError('Exception', 'Controller error', true), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), ]) ]); } @@ -341,11 +341,11 @@ public function testScenarioGetToMissingRoute() Tag::COMPONENT => 'laravel', ]) ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), + SpanAssertion::exists('laravel.event.handle', null, null, 'swoole_test_app'), ]) ]); } diff --git a/tests/Integrations/Laravel/V5_7/CommonScenariosTest.php b/tests/Integrations/Laravel/V5_7/CommonScenariosTest.php index 2263b12670..2ef0269557 100644 --- a/tests/Integrations/Laravel/V5_7/CommonScenariosTest.php +++ b/tests/Integrations/Laravel/V5_7/CommonScenariosTest.php @@ -2,10 +2,8 @@ namespace DDTrace\Tests\Integrations\Laravel\V5_7; -use DDTrace\Tag; -use DDTrace\Tests\Common\SpanAssertion; use DDTrace\Tests\Common\WebFrameworkTestCase; -use DDTrace\Tests\Frameworks\Util\Request\RequestSpec; +use DDTrace\Tests\Frameworks\Util\Request\GetSpec; class CommonScenariosTest extends WebFrameworkTestCase { @@ -21,216 +19,63 @@ protected static function getEnvs() ]); } - /** - * @dataProvider provideSpecs - * @param RequestSpec $spec - * @param array $spanExpectations - * @throws \Exception - */ - public function testScenario(RequestSpec $spec, array $spanExpectations) + public function testScenarioGetReturnString() { - $traces = $this->tracesFromWebRequest(function () use ($spec) { - $this->call($spec); + $this->tracesFromWebRequestSnapshot(function () { + $this->call( + GetSpec::create( + 'A simple GET request returning a string', + '/simple?key=value&pwd=should_redact' + ) + ); }); + } + + public function testScenarioGetWithView() + { + $this->tracesFromWebRequestSnapshot(function () { + $this->call( + GetSpec::create( + 'A simple GET request with a view', + '/simple_view?key=value&pwd=should_redact' + ) + ); + }); + } + + public function testScenarioGetWithException() + { + $this->tracesFromWebRequestSnapshot(function () { + $this->call( + GetSpec::create( + 'A GET request with an exception', + '/error?key=value&pwd=should_redact' + ) + ); + }); + } - $this->assertFlameGraph($traces, $spanExpectations); + public function testScenarioGetToMissingRoute() + { + $this->tracesFromWebRequestSnapshot(function () { + $this->call( + GetSpec::create( + 'A GET request to a missing route', + '/does_not_exist?key=value&pwd=should_redact' + ) + ); + }); } - public function provideSpecs() + public function testScenarioGetDynamicRoute() { - return $this->buildDataProvider( - [ - 'A simple GET request returning a string' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@simple simple_route' - )->withExactTags([ - 'laravel.route.name' => 'simple_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@simple', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/simple?key=value&', - 'http.status_code' => '200', - 'http.route' => 'simple', - TAG::SPAN_KIND => 'server', - Tag::COMPONENT => 'laravel', - ])->withChildren([ - SpanAssertion::build('laravel.action', 'laravel_test_app', 'web', 'simple') - ->withExactTags([ - Tag::COMPONENT => 'laravel', - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A simple GET request with a view' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@simple_view unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@simple_view', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/simple_view?key=value&', - 'http.status_code' => '200', - 'http.route' => 'simple_view', - TAG::SPAN_KIND => 'server', - Tag::COMPONENT => 'laravel', - ])->withChildren([ - SpanAssertion::build('laravel.action', 'laravel_test_app', 'web', 'simple_view') - ->withExactTags([ - Tag::COMPONENT => 'laravel', - ])->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::build( - 'laravel.view.render', - 'laravel_test_app', - 'web', - 'simple_view' - )->withExactTags([ - Tag::COMPONENT => 'laravel', - ])->withChildren([ - SpanAssertion::build( - 'laravel.view', - 'laravel_test_app', - 'web', - '*/resources/views/simple_view.blade.php' - )->withExactTags([ - Tag::COMPONENT => 'laravel', - ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A GET request with an exception' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@error unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@error', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/error?key=value&', - 'http.status_code' => '500', - 'http.route' => 'error', - TAG::SPAN_KIND => 'server', - Tag::COMPONENT => 'laravel', - ])->setError('Exception', 'Controller error', true)->withChildren([ - SpanAssertion::exists('laravel.action'), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A GET request to a dynamic route returning a string' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@dynamicRoute unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@dynamicRoute', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/dynamic_route/dynamic01/static/dynamic02', - 'http.status_code' => '200', - 'http.route' => 'dynamic_route/{param01}/static/{param02?}', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.action', - 'laravel_test_app', - 'web', - 'dynamic_route/{param01}/static/{param02?}' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - ] - ); + $this->tracesFromWebRequestSnapshot(function () { + $this->call( + GetSpec::create( + 'A GET request to a dynamic route returning a string', + '/dynamic_route/dynamic01/static/dynamic02' + ) + ); + }); } } diff --git a/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php b/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php index 23b3eddd39..9efb7c6386 100644 --- a/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php +++ b/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php @@ -7,247 +7,10 @@ use DDTrace\Tests\Common\WebFrameworkTestCase; use DDTrace\Tests\Frameworks\Util\Request\RequestSpec; -class CommonScenariosTest extends WebFrameworkTestCase +class CommonScenariosTest extends \DDTrace\Tests\Integrations\Laravel\V5_7\CommonScenariosTest { protected static function getAppIndexScript() { return __DIR__ . '/../../../Frameworks/Laravel/Version_5_8/public/index.php'; } - - protected static function getEnvs() - { - return array_merge(parent::getEnvs(), [ - 'APP_NAME' => 'laravel_test_app', - ]); - } - - /** - * @dataProvider provideSpecs - * @param RequestSpec $spec - * @param array $spanExpectations - * @throws \Exception - */ - public function testScenario(RequestSpec $spec, array $spanExpectations) - { - $traces = $this->tracesFromWebRequest(function () use ($spec) { - $this->call($spec); - }); - - $this->assertFlameGraph($traces, $spanExpectations); - } - - public function provideSpecs() - { - return $this->buildDataProvider( - [ - 'A simple GET request returning a string' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@simple simple_route' - )->withExactTags([ - 'laravel.route.name' => 'simple_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@simple', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/simple?key=value&', - 'http.status_code' => '200', - 'http.route' => 'simple', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.action', - 'laravel_test_app', - 'web', - 'simple' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A simple GET request with a view' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@simple_view unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@simple_view', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/simple_view?key=value&', - 'http.status_code' => '200', - 'http.route' => 'simple_view', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.action', - 'laravel_test_app', - 'web', - 'simple_view' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::build( - 'laravel.view.render', - 'laravel_test_app', - 'web', - 'simple_view' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.view', - 'laravel_test_app', - 'web', - '*/resources/views/simple_view.blade.php' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A GET request with an exception' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@error unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@error', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/error?key=value&', - 'http.status_code' => '500', - 'http.route' => 'error', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->setError('Exception', 'Controller error', true)->withChildren([ - SpanAssertion::exists('laravel.action'), - SpanAssertion::exists('laravel.view.render') - ->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.view')->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A GET request to a dynamic route returning a string' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@dynamicRoute unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@dynamicRoute', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/dynamic_route/dynamic01/static/dynamic02', - 'http.status_code' => '200', - 'http.route' => 'dynamic_route/{param01}/static/{param02?}', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.action', - 'laravel_test_app', - 'web', - 'dynamic_route/{param01}/static/{param02?}' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - ] - ); - } } diff --git a/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php b/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php index 33b8137ec3..25c224ad23 100644 --- a/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php +++ b/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php @@ -8,284 +8,10 @@ use DDTrace\Tests\Frameworks\Util\Request\GetSpec; use DDTrace\Tests\Frameworks\Util\Request\RequestSpec; -class CommonScenariosTest extends WebFrameworkTestCase +class CommonScenariosTest extends \DDTrace\Tests\Integrations\Laravel\V5_7\CommonScenariosTest { protected static function getAppIndexScript() { return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php'; } - - protected static function getEnvs() - { - return array_merge(parent::getEnvs(), [ - 'APP_NAME' => 'laravel_test_app', - ]); - } - - /** - * @dataProvider provideSpecs - * @param RequestSpec $spec - * @param array $spanExpectations - * @throws \Exception - */ - public function testScenario(RequestSpec $spec, array $spanExpectations) - { - $traces = $this->tracesFromWebRequest(function () use ($spec) { - $this->call($spec); - }); - - $this->assertFlameGraph($traces, $spanExpectations); - } - - public function provideSpecs() - { - return $this->buildDataProvider( - [ - 'A simple GET request returning a string' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@simple simple_route' - )->withExactTags([ - 'laravel.route.name' => 'simple_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@simple', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/simple?key=value&', - 'http.status_code' => '200', - 'http.route' => 'simple', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.action', - 'laravel_test_app', - 'web', - 'simple' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A simple GET request with a view' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@simple_view unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@simple_view', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/simple_view?key=value&', - 'http.status_code' => '200', - 'http.route' => 'simple_view', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build('laravel.action', 'laravel_test_app', 'web', 'simple_view') - ->withExactTags([ - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::build( - 'laravel.view.render', - 'laravel_test_app', - 'web', - 'simple_view' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.view', - 'laravel_test_app', - 'web', - '*/resources/views/simple_view.blade.php' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A GET request with an exception' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@error unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@error', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/error?key=value&', - 'http.status_code' => '500', - 'http.route' => 'error', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->setError('Exception', 'Controller error', true)->withChildren([ - SpanAssertion::exists('laravel.action'), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ], - 'A GET request to a missing route' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'GET /does_not_exist' - )->withExactTags([ - Tag::HTTP_URL => 'http://localhost:9999/does_not_exist?key=value&', - Tag::HTTP_METHOD => 'GET', - Tag::COMPONENT => 'laravel', - Tag::HTTP_STATUS_CODE => '404', - ])->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.provider.load'), - SpanAssertion::build( - 'laravel.view.render', - 'laravel_test_app', - 'web', - 'errors::404' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::build( - 'laravel.view', - 'laravel_test_app', - 'web', - '*/src/Illuminate/Foundation/Exceptions/views/404.blade.php' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app') - ]) - ]) - ]) - ], - 'A GET request to a dynamic route returning a string' => [ - SpanAssertion::build( - 'laravel.request', - 'laravel_test_app', - 'web', - 'App\Http\Controllers\CommonSpecsController@dynamicRoute unnamed_route' - )->withExactTags([ - 'laravel.route.name' => 'unnamed_route', - 'laravel.route.action' => 'App\Http\Controllers\CommonSpecsController@dynamicRoute', - 'http.method' => 'GET', - 'http.url' => 'http://localhost:9999/dynamic_route/dynamic01/static/dynamic02', - 'http.status_code' => '200', - 'http.route' => 'dynamic_route/{param01}/static/{param02?}', - TAG::SPAN_KIND => 'server', - TAG::COMPONENT => 'laravel' - ])->withChildren([ - SpanAssertion::build( - 'laravel.action', - 'laravel_test_app', - 'web', - 'dynamic_route/{param01}/static/{param02?}' - )->withExactTags([ - TAG::COMPONENT => 'laravel' - ]), - SpanAssertion::exists( - 'laravel.provider.load', - 'Illuminate\Foundation\ProviderRepository::load', - null, - 'laravel_test_app' - ), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - SpanAssertion::exists('laravel.event.handle', null, null, 'laravel_test_app'), - ]), - ] - ] - ); - } } diff --git a/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php b/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php index 6e29dab507..682bcc0d37 100644 --- a/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php +++ b/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php @@ -5,7 +5,7 @@ use DDTrace\Tests\Common\WebFrameworkTestCase; use DDTrace\Tests\Frameworks\Util\Request\GetSpec; -class CommonScenariosTest extends WebFrameworkTestCase +class CommonScenariosTest extends \DDTrace\Tests\Integrations\Laravel\V5_7\CommonScenariosTest { protected static function getAppIndexScript() { @@ -19,52 +19,4 @@ protected static function getEnvs() 'DD_SERVICE' => 'my_service', ]); } - - public function testScenarioGetReturnString() - { - $this->tracesFromWebRequestSnapshot(function () { - $this->call( - GetSpec::create( - 'A simple GET request returning a string', - '/simple?key=value&pwd=should_redact' - ) - ); - }); - } - - public function testScenarioGetWithView() - { - $this->tracesFromWebRequestSnapshot(function () { - $this->call( - GetSpec::create( - 'A simple GET request with a view', - '/simple_view?key=value&pwd=should_redact' - ) - ); - }); - } - - public function testScenarioGetWithException() - { - $this->tracesFromWebRequestSnapshot(function () { - $this->call( - GetSpec::create( - 'A GET request with an exception', - '/error?key=value&pwd=should_redact' - )->expectStatusCode(500) - ); - }); - } - - public function testScenarioGetToMissingRoute() - { - $this->tracesFromWebRequestSnapshot(function () { - $this->call( - GetSpec::create( - 'A GET request to a missing route', - '/does_not_exist?key=value&pwd=should_redact' - )->expectStatusCode(404) - ); - }); - } } diff --git a/tests/Integrations/Symfony/V4_4/CommonScenariosTest.php b/tests/Integrations/Symfony/V4_4/CommonScenariosTest.php index c42885b9ee..94ececacf8 100644 --- a/tests/Integrations/Symfony/V4_4/CommonScenariosTest.php +++ b/tests/Integrations/Symfony/V4_4/CommonScenariosTest.php @@ -148,8 +148,6 @@ public function provideSpecs() ->withChildren([ SpanAssertion::exists('symfony.kernel.terminate'), SpanAssertion::exists('symfony.httpkernel.kernel.handle') - ->setError('Exception', 'An exception occurred') - ->withExistingTagsNames(['error.stack']) ->withChildren([ SpanAssertion::exists('symfony.httpkernel.kernel.boot'), SpanAssertion::exists('symfony.kernel.handle')->withChildren([ diff --git a/tests/Integrations/Symfony/V5_0/CommonScenariosTest.php b/tests/Integrations/Symfony/V5_0/CommonScenariosTest.php index f2363eb701..4116ee1725 100644 --- a/tests/Integrations/Symfony/V5_0/CommonScenariosTest.php +++ b/tests/Integrations/Symfony/V5_0/CommonScenariosTest.php @@ -148,8 +148,6 @@ public function provideSpecs() ->withChildren([ SpanAssertion::exists('symfony.kernel.terminate'), SpanAssertion::exists('symfony.httpkernel.kernel.handle') - ->setError('Exception', 'An exception occurred') - ->withExistingTagsNames(['error.stack']) ->withChildren([ SpanAssertion::exists('symfony.httpkernel.kernel.boot'), SpanAssertion::exists('symfony.kernel.handle')->withChildren([ diff --git a/tests/Integrations/Symfony/V5_1/CommonScenariosTest.php b/tests/Integrations/Symfony/V5_1/CommonScenariosTest.php index 8963075a01..119786964d 100644 --- a/tests/Integrations/Symfony/V5_1/CommonScenariosTest.php +++ b/tests/Integrations/Symfony/V5_1/CommonScenariosTest.php @@ -148,8 +148,6 @@ public function provideSpecs() ->withChildren([ SpanAssertion::exists('symfony.kernel.terminate'), SpanAssertion::exists('symfony.httpkernel.kernel.handle') - ->setError('Exception', 'An exception occurred') - ->withExistingTagsNames(['error.stack']) ->withChildren([ SpanAssertion::exists('symfony.httpkernel.kernel.boot'), SpanAssertion::exists('symfony.kernel.handle')->withChildren([ diff --git a/tests/Integrations/Symfony/V5_2/CommonScenariosTest.php b/tests/Integrations/Symfony/V5_2/CommonScenariosTest.php index f1092531ba..abd905e649 100644 --- a/tests/Integrations/Symfony/V5_2/CommonScenariosTest.php +++ b/tests/Integrations/Symfony/V5_2/CommonScenariosTest.php @@ -144,8 +144,6 @@ public function provideSpecs() ->withChildren([ SpanAssertion::exists('symfony.kernel.terminate'), SpanAssertion::exists('symfony.httpkernel.kernel.handle') - ->setError('Exception', 'An exception occurred') - ->withExistingTagsNames(['error.stack']) ->withChildren([ SpanAssertion::exists('symfony.httpkernel.kernel.boot'), SpanAssertion::exists('symfony.kernel.handle')->withChildren([ diff --git a/tests/Integrations/Symfony/V6_2/CommonScenariosTest.php b/tests/Integrations/Symfony/V6_2/CommonScenariosTest.php index 041bd2d1d8..0aaa11a617 100644 --- a/tests/Integrations/Symfony/V6_2/CommonScenariosTest.php +++ b/tests/Integrations/Symfony/V6_2/CommonScenariosTest.php @@ -144,8 +144,6 @@ public function provideSpecs() ->withChildren([ SpanAssertion::exists('symfony.kernel.terminate'), SpanAssertion::exists('symfony.httpkernel.kernel.handle') - ->setError('Exception', 'An exception occurred') - ->withExistingTagsNames(['error.stack']) ->withChildren([ SpanAssertion::exists('symfony.httpkernel.kernel.boot'), SpanAssertion::exists('symfony.kernel.handle')->withChildren([ diff --git a/tests/Integrations/Symfony/V7_0/CommonScenariosTest.php b/tests/Integrations/Symfony/V7_0/CommonScenariosTest.php index 4dae6ada2e..641326f2ec 100644 --- a/tests/Integrations/Symfony/V7_0/CommonScenariosTest.php +++ b/tests/Integrations/Symfony/V7_0/CommonScenariosTest.php @@ -144,8 +144,6 @@ public function provideSpecs() ->withChildren([ SpanAssertion::exists('symfony.kernel.terminate'), SpanAssertion::exists('symfony.httpkernel.kernel.handle') - ->setError('Exception', 'An exception occurred') - ->withExistingTagsNames(['error.stack']) ->withChildren([ SpanAssertion::exists('symfony.httpkernel.kernel.boot'), SpanAssertion::exists('symfony.kernel.handle')->withChildren([ diff --git a/tests/OpenTelemetry/Integration/API/BaggageTest.php b/tests/OpenTelemetry/Integration/API/BaggageTest.php index c5a28b782b..48d5735e2c 100644 --- a/tests/OpenTelemetry/Integration/API/BaggageTest.php +++ b/tests/OpenTelemetry/Integration/API/BaggageTest.php @@ -99,9 +99,9 @@ public function testSpansAndBaggage() $this->assertSame('1', $child['meta']['user.id']); $this->assertFlameGraph($traces, [ - SpanAssertion::exists('server.request', 'parent', 'datadog/dd-trace-tests') + SpanAssertion::exists('server.request', 'parent', false, 'datadog/dd-trace-tests') ->withChildren([ - SpanAssertion::exists('internal', 'child', 'datadog/dd-trace-tests') + SpanAssertion::exists('internal', 'child', false, 'datadog/dd-trace-tests') ]) ]); } diff --git a/tests/OpenTelemetry/Integration/InteroperabilityTest.php b/tests/OpenTelemetry/Integration/InteroperabilityTest.php index 9d8e03361a..b32a43c61b 100644 --- a/tests/OpenTelemetry/Integration/InteroperabilityTest.php +++ b/tests/OpenTelemetry/Integration/InteroperabilityTest.php @@ -203,7 +203,7 @@ public function testActivateSpanWithAnotherActiveNonActivatedDatadogSpan() ->withChildren([ SpanAssertion::exists('internal', 'otel.span') ]) - ]); + ], true, false); } public function testCloseSpansUntilWithOnlyDatadogSpans() @@ -262,7 +262,7 @@ public function testActivateOtelAfterDatadogSpan() ->withChildren([ SpanAssertion::exists('dd.span', 'dd.span') ]) - ]); + ], true, false); } public function testMixingManualAndOtelInstrumentationBis() @@ -308,7 +308,7 @@ public function testMixingManualAndOtelInstrumentationBis() SpanAssertion::exists('internal', 'otel.grandchild.span') ]) ]) - ]); + ], true, false); } public function testStartNewTraces() @@ -378,7 +378,7 @@ public function testStartNewTraces() SpanAssertion::exists('dd.root.child.span', 'dd.root.child.span') ]) ]) - ]); + ], true, false); } public function testStartNewTracesWithCloseSpansUntil() @@ -444,7 +444,7 @@ public function testStartNewTracesWithCloseSpansUntil() SpanAssertion::exists('internal', 'dd.root.child.span') ]) ]) - ]); + ], true, false); } public function testMixingSetParentContext() @@ -506,7 +506,7 @@ public function testMixingSetParentContext() SpanAssertion::exists('dd.grandchild.span', 'dd.grandchild.span') ]) ]) - ]); + ], true, false); } public function testMixingMultipleTraces() @@ -591,10 +591,8 @@ public function testMixingMultipleTraces() ->withChildren( SpanAssertion::exists('dd.child2', 'dd.child2', null, 'datadog/dd-trace-tests') ), - SpanAssertion::build('dd.trace1', 'phpunit', 'cli', 'dd.trace1') - ->withExactTags([ - 'foo1' => 'bar1', - ]) + SpanAssertion::exists('dd.trace1', 'dd.trace1', null, 'datadog/dd-trace-tests') + ->withExistingTagsNames(['foo1']) ->withChildren( SpanAssertion::exists('dd.child1', 'dd.child1', null, 'datadog/dd-trace-tests') ), @@ -653,9 +651,9 @@ public function testW3CInteroperability() $this->assertSame('ff00000000000517', $otelRootSpan['meta']['_dd.p.tid']); $this->assertFlameGraph($traces, [ - SpanAssertion::exists('internal', 'otel.root.span', 'datadog/dd-trace-tests') + SpanAssertion::exists('internal', 'otel.root.span', false, 'phpunit') ->withChildren( - SpanAssertion::exists('dd.child.span', 'dd.child.span', 'datadog/dd-trace-tests') + SpanAssertion::exists('dd.child.span', 'dd.child.span', false, 'phpunit') ) ]); } @@ -705,9 +703,9 @@ public function testB3SingleInteroperability() $this->assertSame('ff00000000000517', $otelRootSpan['meta']['_dd.p.tid']); $this->assertFlameGraph($traces, [ - SpanAssertion::exists('internal', 'otel.root.span', 'datadog/dd-trace-tests') + SpanAssertion::exists('internal', 'otel.root.span', false, 'phpunit') ->withChildren( - SpanAssertion::exists('dd.child.span', 'dd.child.span', 'datadog/dd-trace-tests') + SpanAssertion::exists('dd.child.span', 'dd.child.span', false, 'phpunit') ) ]); } @@ -761,9 +759,9 @@ public function testB3MultiInteroperability() $this->assertSame('ff00000000000517', $otelRootSpan['meta']['_dd.p.tid']); $this->assertFlameGraph($traces, [ - SpanAssertion::exists('internal', 'otel.root.span', 'datadog/dd-trace-tests') + SpanAssertion::exists('internal', 'otel.root.span', false, 'phpunit') ->withChildren( - SpanAssertion::exists('dd.child.span', 'dd.child.span', 'datadog/dd-trace-tests') + SpanAssertion::exists('dd.child.span', 'dd.child.span', false, 'phpunit') ) ]); } @@ -805,11 +803,11 @@ public function testBaggageInteroperability() $this->assertSame('1', $child['meta']['user.id']); $this->assertFlameGraph($traces, [ - SpanAssertion::exists('server.request', 'parent', 'datadog/dd-trace-tests') + SpanAssertion::exists('server.request', 'parent', false, 'datadog/dd-trace-tests') ->withChildren([ - SpanAssertion::exists('child', 'child', 'datadog/dd-trace-tests') + SpanAssertion::exists('child', 'child', false, 'datadog/dd-trace-tests') ]) - ]); + ], true, false); } public function testSpecialAttributes() diff --git a/tests/WebServer.php b/tests/WebServer.php index 831bd5f275..227d52bb3f 100644 --- a/tests/WebServer.php +++ b/tests/WebServer.php @@ -128,6 +128,10 @@ public function setFrankenphp() public function start() { + if (!isset($this->envs['DD_TRACE_DEBUG'])) { + $this->inis['datadog.trace.debug'] = 'true'; + } + $this->errorLogSize = (int)@filesize($this->defaultInis['error_log']); if ($this->roadrunnerVersion) { @@ -279,7 +283,7 @@ public function checkErrors() $diff = @file_get_contents($this->defaultInis['error_log'], false, null, $this->errorLogSize); $out = ""; foreach (explode("\n", $diff) as $line) { - if (preg_match("(\[ddtrace] \[(error|warn|deprecated)])", $line)) { + if (preg_match("(\[ddtrace] \[(error|warn|deprecated|warning)])", $line)) { $out .= $line; } } diff --git a/tests/snapshots/tests.integrations.laravel.v10_x.common_scenarios_test.test_scenario_get_dynamic_route.json b/tests/snapshots/tests.integrations.laravel.v10_x.common_scenarios_test.test_scenario_get_dynamic_route.json new file mode 100644 index 0000000000..d4e3db996a --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v10_x.common_scenarios_test.test_scenario_get_dynamic_route.json @@ -0,0 +1,286 @@ +[[ + { + "name": "laravel.request", + "service": "my_service", + "resource": "GET /dynamic_route/dynamic01/static/dynamic02", + "trace_id": 0, + "span_id": 1, + "parent_id": 2492945007189058795, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c8d8000000000", + "component": "laravel", + "http.method": "GET", + "http.status_code": "404", + "http.url": "http://localhost:9999/dynamic_route/dynamic01/static/dynamic02", + "runtime-id": "b32e6f79-c5ef-4d17-bae1-33f912b0a03d" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "my_service", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Database\\Events\\ConnectionEstablished", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Routing\\Events\\Routing", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "creating: errors::404", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "my_service", + "resource": "errors::404", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "composing: errors::404", + "trace_id": 0, + "span_id": 20, + "parent_id": 18, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "my_service", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_10_x/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php", + "trace_id": 0, + "span_id": 21, + "parent_id": 18, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "creating: errors::minimal", + "trace_id": 0, + "span_id": 22, + "parent_id": 21, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "composing: errors::minimal", + "trace_id": 0, + "span_id": 23, + "parent_id": 21, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 19, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_dynamic_route.json b/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_dynamic_route.json new file mode 100644 index 0000000000..9e0369b64c --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_dynamic_route.json @@ -0,0 +1,226 @@ +[[ + { + "name": "laravel.request", + "service": "my_service", + "resource": "GET /dynamic_route/dynamic01/static/dynamic02", + "trace_id": 0, + "span_id": 1, + "parent_id": 15532564201308317895, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c8df300000000", + "component": "laravel", + "http.method": "GET", + "http.status_code": "404", + "http.url": "http://localhost:9999/dynamic_route/dynamic01/static/dynamic02", + "runtime-id": "3ddc27d7-3081-4e28-a35f-c8c6e7f4ec38" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "my_service", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Routing\\Events\\Routing", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "my_service", + "resource": "errors::404", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "my_service", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php", + "trace_id": 0, + "span_id": 18, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_dynamic_route.json b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_dynamic_route.json new file mode 100644 index 0000000000..fdf0d5f5c6 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_dynamic_route.json @@ -0,0 +1,221 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@dynamicRoute unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 8491564511610816344, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c86c100000000", + "component": "laravel", + "http.method": "GET", + "http.route": "dynamic_route/{param01}/static/{param02?}", + "http.status_code": "200", + "http.url": "http://localhost:9999/dynamic_route/dynamic01/static/dynamic02", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@dynamicRoute", + "laravel.route.name": "unnamed_route", + "runtime-id": "4878b25b-9211-4ac8-8906-d7721b2fa3e5", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "dynamic_route/{param01}/static/{param02?}", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_return_string.json new file mode 100644 index 0000000000..83b601cdf9 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_return_string.json @@ -0,0 +1,221 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@simple simple_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 14643185916601699167, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c86ab00000000", + "component": "laravel", + "http.method": "GET", + "http.route": "simple", + "http.status_code": "200", + "http.url": "http://localhost:9999/simple?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple", + "laravel.route.name": "simple_route", + "runtime-id": "4878b25b-9211-4ac8-8906-d7721b2fa3e5", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "simple", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_to_missing_route.json b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_to_missing_route.json new file mode 100644 index 0000000000..10e73cc490 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_to_missing_route.json @@ -0,0 +1,265 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "GET /does_not_exist", + "trace_id": 0, + "span_id": 1, + "parent_id": 17681025977173484076, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c86bb00000000", + "component": "laravel", + "http.method": "GET", + "http.status_code": "404", + "http.url": "http://localhost:9999/does_not_exist?key=value&", + "runtime-id": "4878b25b-9211-4ac8-8906-d7721b2fa3e5" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::404", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "laravel_test_app", + "resource": "errors::404", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::404", + "trace_id": 0, + "span_id": 18, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "laravel_test_app", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php", + "trace_id": 0, + "span_id": 19, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::illustrated-layout", + "trace_id": 0, + "span_id": 20, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::illustrated-layout", + "trace_id": 0, + "span_id": 21, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_with_exception.json new file mode 100644 index 0000000000..94138284a4 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_with_exception.json @@ -0,0 +1,241 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@error unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 11638207704594054193, + "type": "web", + "error": 1, + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c86b600000000", + "component": "laravel", + "error.message": "Uncaught Exception (500): Controller error in /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/app/Http/Controllers/CommonSpecsController.php:22", + "error.stack": "#0 [internal function]: App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array()\n#2 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()\n#3 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#4 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController()\n#5 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\\Routing\\Route->run()\n#6 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#7 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#8 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(684): Illuminate\\Pipeline\\Pipeline->then()\n#9 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(659): Illuminate\\Routing\\Router->runRouteWithinStack()\n#10 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->runRoute()\n#11 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(614): Illuminate\\Routing\\Router->dispatchToRoute()\n#12 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch()\n#13 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#14 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#15 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then()\n#16 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#17 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle()\n#18 {main}", + "error.type": "Exception", + "http.method": "GET", + "http.route": "error", + "http.status_code": "500", + "http.url": "http://localhost:9999/error?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@error", + "laravel.route.name": "unnamed_route", + "runtime-id": "4878b25b-9211-4ac8-8906-d7721b2fa3e5", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "error", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "error": 1, + "meta": { + "component": "laravel", + "error.message": "Thrown Exception (500): Controller error in /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/app/Http/Controllers/CommonSpecsController.php:22", + "error.stack": "#0 [internal function]: App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array()\n#2 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()\n#3 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#4 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController()\n#5 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\\Routing\\Route->run()\n#6 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#7 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#8 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(684): Illuminate\\Pipeline\\Pipeline->then()\n#9 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(659): Illuminate\\Routing\\Router->runRouteWithinStack()\n#10 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->runRoute()\n#11 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Router.php(614): Illuminate\\Routing\\Router->dispatchToRoute()\n#12 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch()\n#13 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#14 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#15 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then()\n#16 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#17 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle()\n#18 {main}", + "error.type": "Exception" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Log\\Events\\MessageLogged", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_with_view.json new file mode 100644 index 0000000000..5fdd4f20b7 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_7.common_scenarios_test.test_scenario_get_with_view.json @@ -0,0 +1,269 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@simple_view unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 17417893670227081443, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c86b600000000", + "component": "laravel", + "http.method": "GET", + "http.route": "simple_view", + "http.status_code": "200", + "http.url": "http://localhost:9999/simple_view?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple_view", + "laravel.route.name": "unnamed_route", + "runtime-id": "4878b25b-9211-4ac8-8906-d7721b2fa3e5", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "simple_view", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: simple_view", + "trace_id": 0, + "span_id": 19, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "laravel_test_app", + "resource": "simple_view", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: simple_view", + "trace_id": 0, + "span_id": 20, + "parent_id": 17, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "laravel_test_app", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_5_7/resources/views/simple_view.blade.php", + "trace_id": 0, + "span_id": 21, + "parent_id": 17, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_dynamic_route.json b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_dynamic_route.json new file mode 100644 index 0000000000..ee11b0f6dc --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_dynamic_route.json @@ -0,0 +1,221 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@dynamicRoute unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 16982091743140843000, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c88d000000000", + "component": "laravel", + "http.method": "GET", + "http.route": "dynamic_route/{param01}/static/{param02?}", + "http.status_code": "200", + "http.url": "http://localhost:9999/dynamic_route/dynamic01/static/dynamic02", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@dynamicRoute", + "laravel.route.name": "unnamed_route", + "runtime-id": "5db5654d-5a9e-4cf0-908b-a51f7ced2ff2", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "dynamic_route/{param01}/static/{param02?}", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_return_string.json new file mode 100644 index 0000000000..f7e465454e --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_return_string.json @@ -0,0 +1,221 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@simple simple_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 6300451724870803156, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c88b800000000", + "component": "laravel", + "http.method": "GET", + "http.route": "simple", + "http.status_code": "200", + "http.url": "http://localhost:9999/simple?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple", + "laravel.route.name": "simple_route", + "runtime-id": "5db5654d-5a9e-4cf0-908b-a51f7ced2ff2", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "simple", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_to_missing_route.json b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_to_missing_route.json new file mode 100644 index 0000000000..83f1ce2ea1 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_to_missing_route.json @@ -0,0 +1,265 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "GET /does_not_exist", + "trace_id": 0, + "span_id": 1, + "parent_id": 6481117419513712054, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c88cf00000000", + "component": "laravel", + "http.method": "GET", + "http.status_code": "404", + "http.url": "http://localhost:9999/does_not_exist?key=value&", + "runtime-id": "5db5654d-5a9e-4cf0-908b-a51f7ced2ff2" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::404", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "laravel_test_app", + "resource": "errors::404", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::404", + "trace_id": 0, + "span_id": 18, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "laravel_test_app", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php", + "trace_id": 0, + "span_id": 19, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::minimal", + "trace_id": 0, + "span_id": 20, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::minimal", + "trace_id": 0, + "span_id": 21, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_with_exception.json new file mode 100644 index 0000000000..c33afc309b --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_with_exception.json @@ -0,0 +1,313 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@error unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 2860973756877146746, + "type": "web", + "error": 1, + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c88ca00000000", + "component": "laravel", + "error.message": "Uncaught Exception (500): Controller error in /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/app/Http/Controllers/CommonSpecsController.php:22", + "error.stack": "#0 [internal function]: App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array()\n#2 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()\n#3 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#4 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController()\n#5 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(680): Illuminate\\Routing\\Route->run()\n#6 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#7 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#8 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\\Pipeline\\Pipeline->then()\n#9 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(657): Illuminate\\Routing\\Router->runRouteWithinStack()\n#10 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\\Routing\\Router->runRoute()\n#11 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\\Routing\\Router->dispatchToRoute()\n#12 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch()\n#13 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#14 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#15 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then()\n#16 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#17 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle()\n#18 {main}", + "error.type": "Exception", + "http.method": "GET", + "http.route": "error", + "http.status_code": "500", + "http.url": "http://localhost:9999/error?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@error", + "laravel.route.name": "unnamed_route", + "runtime-id": "5db5654d-5a9e-4cf0-908b-a51f7ced2ff2", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "error", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "error": 1, + "meta": { + "component": "laravel", + "error.message": "Thrown Exception (500): Controller error in /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/app/Http/Controllers/CommonSpecsController.php:22", + "error.stack": "#0 [internal function]: App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array()\n#2 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()\n#3 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#4 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController()\n#5 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(680): Illuminate\\Routing\\Route->run()\n#6 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#7 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#8 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\\Pipeline\\Pipeline->then()\n#9 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(657): Illuminate\\Routing\\Router->runRouteWithinStack()\n#10 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\\Routing\\Router->runRoute()\n#11 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\\Routing\\Router->dispatchToRoute()\n#12 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch()\n#13 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#14 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()\n#15 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then()\n#16 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#17 /home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle()\n#18 {main}", + "error.type": "Exception" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Log\\Events\\MessageLogged", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::500", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "laravel_test_app", + "resource": "errors::500", + "trace_id": 0, + "span_id": 19, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::500", + "trace_id": 0, + "span_id": 21, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "laravel_test_app", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/500.blade.php", + "trace_id": 0, + "span_id": 22, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::minimal", + "trace_id": 0, + "span_id": 23, + "parent_id": 22, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::minimal", + "trace_id": 0, + "span_id": 24, + "parent_id": 22, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 20, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_with_view.json new file mode 100644 index 0000000000..066d91bbc5 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v5_8.common_scenarios_test.test_scenario_get_with_view.json @@ -0,0 +1,269 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@simple_view unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 12604606052329515364, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c88c900000000", + "component": "laravel", + "http.method": "GET", + "http.route": "simple_view", + "http.status_code": "200", + "http.url": "http://localhost:9999/simple_view?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple_view", + "laravel.route.name": "unnamed_route", + "runtime-id": "5db5654d-5a9e-4cf0-908b-a51f7ced2ff2", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "_dd.base_service": "laravel_test_app", + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "simple_view", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: simple_view", + "trace_id": 0, + "span_id": 19, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "laravel_test_app", + "resource": "simple_view", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: simple_view", + "trace_id": 0, + "span_id": 20, + "parent_id": 17, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "laravel_test_app", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_5_8/resources/views/simple_view.blade.php", + "trace_id": 0, + "span_id": 21, + "parent_id": 17, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_dynamic_route.json b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_dynamic_route.json new file mode 100644 index 0000000000..e2337941b9 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_dynamic_route.json @@ -0,0 +1,218 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@dynamicRoute unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 15001205186696491370, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c89a800000000", + "component": "laravel", + "http.method": "GET", + "http.route": "dynamic_route/{param01}/static/{param02?}", + "http.status_code": "200", + "http.url": "http://localhost:9999/dynamic_route/dynamic01/static/dynamic02", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@dynamicRoute", + "laravel.route.name": "unnamed_route", + "runtime-id": "3bd45f16-c853-4884-a7ca-1017a443b1fe", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "dynamic_route/{param01}/static/{param02?}", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_return_string.json new file mode 100644 index 0000000000..5b7dceca26 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_return_string.json @@ -0,0 +1,218 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@simple simple_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 12020835662515277171, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c897e00000000", + "component": "laravel", + "http.method": "GET", + "http.route": "simple", + "http.status_code": "200", + "http.url": "http://localhost:9999/simple?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple", + "laravel.route.name": "simple_route", + "runtime-id": "3bd45f16-c853-4884-a7ca-1017a443b1fe", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "simple", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_to_missing_route.json b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_to_missing_route.json new file mode 100644 index 0000000000..2e4560c2f2 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_to_missing_route.json @@ -0,0 +1,262 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "GET /does_not_exist", + "trace_id": 0, + "span_id": 1, + "parent_id": 18053264272838572482, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c899e00000000", + "component": "laravel", + "http.method": "GET", + "http.status_code": "404", + "http.url": "http://localhost:9999/does_not_exist?key=value&", + "runtime-id": "3bd45f16-c853-4884-a7ca-1017a443b1fe" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::404", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "laravel_test_app", + "resource": "errors::404", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::404", + "trace_id": 0, + "span_id": 18, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "laravel_test_app", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php", + "trace_id": 0, + "span_id": 19, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: errors::minimal", + "trace_id": 0, + "span_id": 20, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: errors::minimal", + "trace_id": 0, + "span_id": 21, + "parent_id": 19, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_with_exception.json new file mode 100644 index 0000000000..d6e7846b63 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_with_exception.json @@ -0,0 +1,238 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@error unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 5284318346777658265, + "type": "web", + "error": 1, + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c898e00000000", + "component": "laravel", + "error.message": "Uncaught Exception (500): Controller error in /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/app/Http/Controllers/CommonSpecsController.php:21", + "error.stack": "#0 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()\n#2 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#3 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()\n#4 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Route->run()\n#5 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#6 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#7 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()\n#8 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#9 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()\n#10 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#11 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()\n#12 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#13 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()\n#14 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()\n#15 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#16 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()\n#17 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#18 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()\n#19 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#20 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\\Pipeline\\Pipeline->then()\n#21 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack()\n#22 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute()\n#23 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute()\n#24 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch()\n#25 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#26 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#27 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#28 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()\n#29 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#30 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#31 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()\n#32 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#33 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()\n#34 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#35 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()\n#36 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#37 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()\n#38 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#39 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()\n#40 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#41 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then()\n#42 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#43 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()\n#44 {main}", + "error.type": "Exception", + "http.method": "GET", + "http.route": "error", + "http.status_code": "500", + "http.url": "http://localhost:9999/error?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@error", + "laravel.route.name": "unnamed_route", + "runtime-id": "3bd45f16-c853-4884-a7ca-1017a443b1fe", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "error", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "error": 1, + "meta": { + "component": "laravel", + "error.message": "Thrown Exception (500): Controller error in /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/app/Http/Controllers/CommonSpecsController.php:21", + "error.stack": "#0 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()\n#2 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#3 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()\n#4 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Route->run()\n#5 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#6 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#7 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()\n#8 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#9 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()\n#10 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#11 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()\n#12 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#13 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()\n#14 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()\n#15 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#16 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()\n#17 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#18 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()\n#19 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#20 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\\Pipeline\\Pipeline->then()\n#21 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack()\n#22 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute()\n#23 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute()\n#24 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch()\n#25 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#26 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#27 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#28 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()\n#29 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#30 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#31 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()\n#32 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#33 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()\n#34 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#35 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()\n#36 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#37 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()\n#38 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#39 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()\n#40 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#41 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then()\n#42 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#43 /home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()\n#44 {main}", + "error.type": "Exception" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Log\\Events\\MessageLogged", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_with_view.json new file mode 100644 index 0000000000..7f6142e012 --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v8_x.common_scenarios_test.test_scenario_get_with_view.json @@ -0,0 +1,266 @@ +[[ + { + "name": "laravel.request", + "service": "laravel_test_app", + "resource": "App\\Http\\Controllers\\CommonSpecsController@simple_view unnamed_route", + "trace_id": 0, + "span_id": 1, + "parent_id": 8692004555267569226, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c898900000000", + "component": "laravel", + "http.method": "GET", + "http.route": "simple_view", + "http.status_code": "200", + "http.url": "http://localhost:9999/simple_view?key=value&", + "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple_view", + "laravel.route.name": "unnamed_route", + "runtime-id": "3bd45f16-c853-4884-a7ca-1017a443b1fe", + "span.kind": "server" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Routing\\Events\\RouteMatched", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.action", + "service": "laravel_test_app", + "resource": "simple_view", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "creating: simple_view", + "trace_id": 0, + "span_id": 19, + "parent_id": 16, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "laravel_test_app", + "resource": "simple_view", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "composing: simple_view", + "trace_id": 0, + "span_id": 20, + "parent_id": 17, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "laravel_test_app", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_8_x/resources/views/simple_view.blade.php", + "trace_id": 0, + "span_id": 21, + "parent_id": 17, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "laravel_test_app", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.laravel.v9_x.common_scenarios_test.test_scenario_get_dynamic_route.json b/tests/snapshots/tests.integrations.laravel.v9_x.common_scenarios_test.test_scenario_get_dynamic_route.json new file mode 100644 index 0000000000..7cb9c0b4ab --- /dev/null +++ b/tests/snapshots/tests.integrations.laravel.v9_x.common_scenarios_test.test_scenario_get_dynamic_route.json @@ -0,0 +1,286 @@ +[[ + { + "name": "laravel.request", + "service": "my_service", + "resource": "GET /dynamic_route/dynamic01/static/dynamic02", + "trace_id": 0, + "span_id": 1, + "parent_id": 9595732439224051266, + "type": "web", + "meta": { + "_dd.p.dm": "-0", + "_dd.p.tid": "664c8afc00000000", + "component": "laravel", + "http.method": "GET", + "http.status_code": "404", + "http.url": "http://localhost:9999/dynamic_route/dynamic01/static/dynamic02", + "runtime-id": "5c9f7cdc-4833-4e56-a8af-852b6607f988" + }, + "metrics": { + "_sampling_priority_v1": 1.0 + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 2, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables", + "trace_id": 0, + "span_id": 3, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 4, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration", + "trace_id": 0, + "span_id": 5, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 6, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 8, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades", + "trace_id": 0, + "span_id": 9, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 10, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.provider.load", + "service": "my_service", + "resource": "Illuminate\\Foundation\\ProviderRepository::load", + "trace_id": 0, + "span_id": 11, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders", + "trace_id": 0, + "span_id": 12, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 13, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Database\\Events\\ConnectionEstablished", + "trace_id": 0, + "span_id": 14, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders", + "trace_id": 0, + "span_id": 15, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Routing\\Events\\Routing", + "trace_id": 0, + "span_id": 16, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "creating: errors::404", + "trace_id": 0, + "span_id": 17, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view.render", + "service": "my_service", + "resource": "errors::404", + "trace_id": 0, + "span_id": 18, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "composing: errors::404", + "trace_id": 0, + "span_id": 20, + "parent_id": 18, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.view", + "service": "my_service", + "resource": "/home/circleci/datadog/tests/Frameworks/Laravel/Version_9_x/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php", + "trace_id": 0, + "span_id": 21, + "parent_id": 18, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "creating: errors::minimal", + "trace_id": 0, + "span_id": 22, + "parent_id": 21, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "composing: errors::minimal", + "trace_id": 0, + "span_id": 23, + "parent_id": 21, + "type": "web", + "meta": { + "component": "laravel" + } + }, + { + "name": "laravel.event.handle", + "service": "my_service", + "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled", + "trace_id": 0, + "span_id": 19, + "parent_id": 1, + "type": "web", + "meta": { + "component": "laravel" + } + }]] diff --git a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_return_string.json index b02027d51a..56149bed8d 100644 --- a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_return_string.json +++ b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_return_string.json @@ -81,7 +81,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_widgets", "trace_id": 0, - "span_id": 13, + "span_id": 14, "parent_id": 5, "type": "web", "meta": { @@ -95,7 +95,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_embeds", "trace_id": 0, - "span_id": 14, + "span_id": 15, "parent_id": 5, "type": "web", "meta": { @@ -109,7 +109,7 @@ "service": "wordpress_test_app", "resource": "_wp_customize_include", "trace_id": 0, - "span_id": 15, + "span_id": 16, "parent_id": 5, "type": "web", "meta": { @@ -131,12 +131,25 @@ "wordpress.hook": "setup_theme" } }, + { + "name": "load_theme", + "service": "wordpress_test_app", + "resource": "Twentyseventeen (theme)", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "wordpress", + "wordpress.theme": "Twentyseventeen" + } + }, { "name": "action", "service": "wordpress_test_app", "resource": "after_setup_theme (hook)", "trace_id": 0, - "span_id": 7, + "span_id": 8, "parent_id": 1, "type": "web", "meta": { @@ -149,8 +162,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_setup (callback)", "trace_id": 0, - "span_id": 16, - "parent_id": 7, + "span_id": 17, + "parent_id": 8, "type": "web", "meta": { "component": "wordpress", @@ -163,8 +176,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_custom_header_setup (callback)", "trace_id": 0, - "span_id": 17, - "parent_id": 7, + "span_id": 18, + "parent_id": 8, "type": "web", "meta": { "component": "wordpress", @@ -177,7 +190,7 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 8, + "span_id": 9, "parent_id": 1, "type": "web", "meta": { @@ -189,8 +202,8 @@ "service": "wordpress_test_app", "resource": "kses_init (callback)", "trace_id": 0, - "span_id": 18, - "parent_id": 8, + "span_id": 19, + "parent_id": 9, "type": "web", "meta": { "component": "wordpress", @@ -203,7 +216,7 @@ "service": "wordpress_test_app", "resource": "init (hook)", "trace_id": 0, - "span_id": 9, + "span_id": 10, "parent_id": 1, "type": "web", "meta": { @@ -216,8 +229,8 @@ "service": "wordpress_test_app", "resource": "create_initial_post_types", "trace_id": 0, - "span_id": 19, - "parent_id": 9, + "span_id": 20, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -228,8 +241,8 @@ "service": "wordpress_test_app", "resource": "create_initial_taxonomies", "trace_id": 0, - "span_id": 20, - "parent_id": 9, + "span_id": 21, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -240,8 +253,8 @@ "service": "wordpress_test_app", "resource": "wp_widgets_init", "trace_id": 0, - "span_id": 21, - "parent_id": 9, + "span_id": 22, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -254,8 +267,8 @@ "service": "wordpress_test_app", "resource": "WP_Widget_Factory._register_widgets", "trace_id": 0, - "span_id": 32, - "parent_id": 21, + "span_id": 33, + "parent_id": 22, "type": "web", "meta": { "component": "wordpress" @@ -266,8 +279,8 @@ "service": "wordpress_test_app", "resource": "smilies_init (callback)", "trace_id": 0, - "span_id": 22, - "parent_id": 9, + "span_id": 23, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -280,8 +293,8 @@ "service": "wordpress_test_app", "resource": "wp_cron (callback)", "trace_id": 0, - "span_id": 23, - "parent_id": 9, + "span_id": 24, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -294,8 +307,8 @@ "service": "wordpress_test_app", "resource": "_show_post_preview (callback)", "trace_id": 0, - "span_id": 24, - "parent_id": 9, + "span_id": 25, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -308,8 +321,8 @@ "service": "wordpress_test_app", "resource": "rest_api_init (callback)", "trace_id": 0, - "span_id": 25, - "parent_id": 9, + "span_id": 26, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -322,8 +335,8 @@ "service": "wordpress_test_app", "resource": "wp_schedule_update_checks (callback)", "trace_id": 0, - "span_id": 26, - "parent_id": 9, + "span_id": 27, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -336,8 +349,8 @@ "service": "wordpress_test_app", "resource": "check_theme_switched (callback)", "trace_id": 0, - "span_id": 27, - "parent_id": 9, + "span_id": 28, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -350,7 +363,7 @@ "service": "wordpress_test_app", "resource": "wp_loaded (hook)", "trace_id": 0, - "span_id": 10, + "span_id": 11, "parent_id": 1, "type": "web", "meta": { @@ -363,8 +376,8 @@ "service": "wordpress_test_app", "resource": "_custom_header_background_just_in_time (callback)", "trace_id": 0, - "span_id": 28, - "parent_id": 10, + "span_id": 29, + "parent_id": 11, "type": "web", "meta": { "component": "wordpress", @@ -377,7 +390,7 @@ "service": "wordpress_test_app", "resource": "WP.main", "trace_id": 0, - "span_id": 11, + "span_id": 12, "parent_id": 1, "type": "web", "meta": { @@ -389,8 +402,8 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 29, - "parent_id": 11, + "span_id": 30, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -401,8 +414,8 @@ "service": "wordpress_test_app", "resource": "WP.parse_request", "trace_id": 0, - "span_id": 30, - "parent_id": 11, + "span_id": 31, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -413,7 +426,7 @@ "service": "wordpress_test_app", "resource": "shutdown (hook)", "trace_id": 0, - "span_id": 12, + "span_id": 13, "parent_id": 1, "type": "web", "meta": { @@ -426,8 +439,8 @@ "service": "wordpress_test_app", "resource": "wp_ob_end_flush_all (callback)", "trace_id": 0, - "span_id": 31, - "parent_id": 12, + "span_id": 32, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", diff --git a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_exception.json index d867602211..27245bd3bb 100644 --- a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_exception.json +++ b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_exception.json @@ -85,7 +85,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_widgets", "trace_id": 0, - "span_id": 13, + "span_id": 14, "parent_id": 5, "type": "web", "meta": { @@ -99,7 +99,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_embeds", "trace_id": 0, - "span_id": 14, + "span_id": 15, "parent_id": 5, "type": "web", "meta": { @@ -113,7 +113,7 @@ "service": "wordpress_test_app", "resource": "_wp_customize_include", "trace_id": 0, - "span_id": 15, + "span_id": 16, "parent_id": 5, "type": "web", "meta": { @@ -135,12 +135,25 @@ "wordpress.hook": "setup_theme" } }, + { + "name": "load_theme", + "service": "wordpress_test_app", + "resource": "Twentyseventeen (theme)", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "wordpress", + "wordpress.theme": "Twentyseventeen" + } + }, { "name": "action", "service": "wordpress_test_app", "resource": "after_setup_theme (hook)", "trace_id": 0, - "span_id": 7, + "span_id": 8, "parent_id": 1, "type": "web", "meta": { @@ -153,8 +166,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_setup (callback)", "trace_id": 0, - "span_id": 16, - "parent_id": 7, + "span_id": 17, + "parent_id": 8, "type": "web", "meta": { "component": "wordpress", @@ -167,8 +180,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_custom_header_setup (callback)", "trace_id": 0, - "span_id": 17, - "parent_id": 7, + "span_id": 18, + "parent_id": 8, "type": "web", "meta": { "component": "wordpress", @@ -181,7 +194,7 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 8, + "span_id": 9, "parent_id": 1, "type": "web", "meta": { @@ -193,8 +206,8 @@ "service": "wordpress_test_app", "resource": "kses_init (callback)", "trace_id": 0, - "span_id": 18, - "parent_id": 8, + "span_id": 19, + "parent_id": 9, "type": "web", "meta": { "component": "wordpress", @@ -207,7 +220,7 @@ "service": "wordpress_test_app", "resource": "init (hook)", "trace_id": 0, - "span_id": 9, + "span_id": 10, "parent_id": 1, "type": "web", "meta": { @@ -220,8 +233,8 @@ "service": "wordpress_test_app", "resource": "create_initial_post_types", "trace_id": 0, - "span_id": 19, - "parent_id": 9, + "span_id": 20, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -232,8 +245,8 @@ "service": "wordpress_test_app", "resource": "create_initial_taxonomies", "trace_id": 0, - "span_id": 20, - "parent_id": 9, + "span_id": 21, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -244,8 +257,8 @@ "service": "wordpress_test_app", "resource": "wp_widgets_init", "trace_id": 0, - "span_id": 21, - "parent_id": 9, + "span_id": 22, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -258,8 +271,8 @@ "service": "wordpress_test_app", "resource": "WP_Widget_Factory._register_widgets", "trace_id": 0, - "span_id": 32, - "parent_id": 21, + "span_id": 33, + "parent_id": 22, "type": "web", "meta": { "component": "wordpress" @@ -270,8 +283,8 @@ "service": "wordpress_test_app", "resource": "smilies_init (callback)", "trace_id": 0, - "span_id": 22, - "parent_id": 9, + "span_id": 23, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -284,8 +297,8 @@ "service": "wordpress_test_app", "resource": "wp_cron (callback)", "trace_id": 0, - "span_id": 23, - "parent_id": 9, + "span_id": 24, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -298,8 +311,8 @@ "service": "wordpress_test_app", "resource": "_show_post_preview (callback)", "trace_id": 0, - "span_id": 24, - "parent_id": 9, + "span_id": 25, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -312,8 +325,8 @@ "service": "wordpress_test_app", "resource": "rest_api_init (callback)", "trace_id": 0, - "span_id": 25, - "parent_id": 9, + "span_id": 26, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -326,8 +339,8 @@ "service": "wordpress_test_app", "resource": "wp_schedule_update_checks (callback)", "trace_id": 0, - "span_id": 26, - "parent_id": 9, + "span_id": 27, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -340,8 +353,8 @@ "service": "wordpress_test_app", "resource": "check_theme_switched (callback)", "trace_id": 0, - "span_id": 27, - "parent_id": 9, + "span_id": 28, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -354,7 +367,7 @@ "service": "wordpress_test_app", "resource": "wp_loaded (hook)", "trace_id": 0, - "span_id": 10, + "span_id": 11, "parent_id": 1, "type": "web", "meta": { @@ -367,8 +380,8 @@ "service": "wordpress_test_app", "resource": "_custom_header_background_just_in_time (callback)", "trace_id": 0, - "span_id": 28, - "parent_id": 10, + "span_id": 29, + "parent_id": 11, "type": "web", "meta": { "component": "wordpress", @@ -381,7 +394,7 @@ "service": "wordpress_test_app", "resource": "WP.main", "trace_id": 0, - "span_id": 11, + "span_id": 12, "parent_id": 1, "type": "web", "error": 1, @@ -397,8 +410,8 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 29, - "parent_id": 11, + "span_id": 30, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -409,8 +422,8 @@ "service": "wordpress_test_app", "resource": "WP.parse_request", "trace_id": 0, - "span_id": 30, - "parent_id": 11, + "span_id": 31, + "parent_id": 12, "type": "web", "error": 1, "meta": { @@ -425,7 +438,7 @@ "service": "wordpress_test_app", "resource": "shutdown (hook)", "trace_id": 0, - "span_id": 12, + "span_id": 13, "parent_id": 1, "type": "web", "meta": { @@ -438,8 +451,8 @@ "service": "wordpress_test_app", "resource": "wp_ob_end_flush_all (callback)", "trace_id": 0, - "span_id": 31, - "parent_id": 12, + "span_id": 32, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", diff --git a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_view.json index 421db7240f..0294b312db 100644 --- a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_view.json +++ b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_callbacks_test.test_scenario_get_with_view.json @@ -81,7 +81,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_widgets", "trace_id": 0, - "span_id": 14, + "span_id": 15, "parent_id": 5, "type": "web", "meta": { @@ -95,7 +95,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_embeds", "trace_id": 0, - "span_id": 15, + "span_id": 16, "parent_id": 5, "type": "web", "meta": { @@ -109,7 +109,7 @@ "service": "wordpress_test_app", "resource": "_wp_customize_include", "trace_id": 0, - "span_id": 16, + "span_id": 17, "parent_id": 5, "type": "web", "meta": { @@ -131,12 +131,25 @@ "wordpress.hook": "setup_theme" } }, + { + "name": "load_theme", + "service": "wordpress_test_app", + "resource": "Twentyseventeen (theme)", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "wordpress", + "wordpress.theme": "Twentyseventeen" + } + }, { "name": "action", "service": "wordpress_test_app", "resource": "after_setup_theme (hook)", "trace_id": 0, - "span_id": 7, + "span_id": 8, "parent_id": 1, "type": "web", "meta": { @@ -149,8 +162,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_setup (callback)", "trace_id": 0, - "span_id": 17, - "parent_id": 7, + "span_id": 18, + "parent_id": 8, "type": "web", "meta": { "component": "wordpress", @@ -163,8 +176,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_custom_header_setup (callback)", "trace_id": 0, - "span_id": 18, - "parent_id": 7, + "span_id": 19, + "parent_id": 8, "type": "web", "meta": { "component": "wordpress", @@ -177,7 +190,7 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 8, + "span_id": 9, "parent_id": 1, "type": "web", "meta": { @@ -189,8 +202,8 @@ "service": "wordpress_test_app", "resource": "kses_init (callback)", "trace_id": 0, - "span_id": 19, - "parent_id": 8, + "span_id": 20, + "parent_id": 9, "type": "web", "meta": { "component": "wordpress", @@ -203,7 +216,7 @@ "service": "wordpress_test_app", "resource": "init (hook)", "trace_id": 0, - "span_id": 9, + "span_id": 10, "parent_id": 1, "type": "web", "meta": { @@ -216,8 +229,8 @@ "service": "wordpress_test_app", "resource": "create_initial_post_types", "trace_id": 0, - "span_id": 20, - "parent_id": 9, + "span_id": 21, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -228,8 +241,8 @@ "service": "wordpress_test_app", "resource": "create_initial_taxonomies", "trace_id": 0, - "span_id": 21, - "parent_id": 9, + "span_id": 22, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -240,8 +253,8 @@ "service": "wordpress_test_app", "resource": "wp_widgets_init", "trace_id": 0, - "span_id": 22, - "parent_id": 9, + "span_id": 23, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -254,8 +267,8 @@ "service": "wordpress_test_app", "resource": "WP_Widget_Factory._register_widgets", "trace_id": 0, - "span_id": 44, - "parent_id": 22, + "span_id": 45, + "parent_id": 23, "type": "web", "meta": { "component": "wordpress" @@ -266,8 +279,8 @@ "service": "wordpress_test_app", "resource": "smilies_init (callback)", "trace_id": 0, - "span_id": 23, - "parent_id": 9, + "span_id": 24, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -280,8 +293,8 @@ "service": "wordpress_test_app", "resource": "wp_cron (callback)", "trace_id": 0, - "span_id": 24, - "parent_id": 9, + "span_id": 25, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -294,8 +307,8 @@ "service": "wordpress_test_app", "resource": "_show_post_preview (callback)", "trace_id": 0, - "span_id": 25, - "parent_id": 9, + "span_id": 26, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -308,8 +321,8 @@ "service": "wordpress_test_app", "resource": "rest_api_init (callback)", "trace_id": 0, - "span_id": 26, - "parent_id": 9, + "span_id": 27, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -322,8 +335,8 @@ "service": "wordpress_test_app", "resource": "wp_schedule_update_checks (callback)", "trace_id": 0, - "span_id": 27, - "parent_id": 9, + "span_id": 28, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -336,8 +349,8 @@ "service": "wordpress_test_app", "resource": "check_theme_switched (callback)", "trace_id": 0, - "span_id": 28, - "parent_id": 9, + "span_id": 29, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress", @@ -350,7 +363,7 @@ "service": "wordpress_test_app", "resource": "wp_loaded (hook)", "trace_id": 0, - "span_id": 10, + "span_id": 11, "parent_id": 1, "type": "web", "meta": { @@ -363,8 +376,8 @@ "service": "wordpress_test_app", "resource": "_custom_header_background_just_in_time (callback)", "trace_id": 0, - "span_id": 29, - "parent_id": 10, + "span_id": 30, + "parent_id": 11, "type": "web", "meta": { "component": "wordpress", @@ -377,7 +390,7 @@ "service": "wordpress_test_app", "resource": "WP.main", "trace_id": 0, - "span_id": 11, + "span_id": 12, "parent_id": 1, "type": "web", "meta": { @@ -389,8 +402,8 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 30, - "parent_id": 11, + "span_id": 31, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -401,8 +414,8 @@ "service": "wordpress_test_app", "resource": "WP.parse_request", "trace_id": 0, - "span_id": 31, - "parent_id": 11, + "span_id": 32, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -413,8 +426,8 @@ "service": "wordpress_test_app", "resource": "WP.send_headers", "trace_id": 0, - "span_id": 32, - "parent_id": 11, + "span_id": 33, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -425,8 +438,8 @@ "service": "wordpress_test_app", "resource": "WP.query_posts", "trace_id": 0, - "span_id": 33, - "parent_id": 11, + "span_id": 34, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -437,8 +450,8 @@ "service": "wordpress_test_app", "resource": "WP.handle_404", "trace_id": 0, - "span_id": 34, - "parent_id": 11, + "span_id": 35, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -449,8 +462,8 @@ "service": "wordpress_test_app", "resource": "WP.register_globals", "trace_id": 0, - "span_id": 35, - "parent_id": 11, + "span_id": 36, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -461,8 +474,8 @@ "service": "wordpress_test_app", "resource": "wp (hook)", "trace_id": 0, - "span_id": 36, - "parent_id": 11, + "span_id": 37, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress", @@ -474,7 +487,7 @@ "service": "wordpress_test_app", "resource": "load_template_loader", "trace_id": 0, - "span_id": 12, + "span_id": 13, "parent_id": 1, "type": "web", "meta": { @@ -486,8 +499,8 @@ "service": "wordpress_test_app", "resource": "template_redirect (hook)", "trace_id": 0, - "span_id": 37, - "parent_id": 12, + "span_id": 38, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", @@ -499,8 +512,8 @@ "service": "wordpress_test_app", "resource": "_wp_admin_bar_init (callback)", "trace_id": 0, - "span_id": 45, - "parent_id": 37, + "span_id": 46, + "parent_id": 38, "type": "web", "meta": { "component": "wordpress", @@ -513,8 +526,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_content_width (callback)", "trace_id": 0, - "span_id": 46, - "parent_id": 37, + "span_id": 47, + "parent_id": 38, "type": "web", "meta": { "component": "wordpress", @@ -527,8 +540,8 @@ "service": "wordpress_test_app", "resource": "wp_old_slug_redirect (callback)", "trace_id": 0, - "span_id": 47, - "parent_id": 37, + "span_id": 48, + "parent_id": 38, "type": "web", "meta": { "component": "wordpress", @@ -541,8 +554,8 @@ "service": "wordpress_test_app", "resource": "rest_output_link_header (callback)", "trace_id": 0, - "span_id": 48, - "parent_id": 37, + "span_id": 49, + "parent_id": 38, "type": "web", "meta": { "component": "wordpress", @@ -555,8 +568,8 @@ "service": "wordpress_test_app", "resource": "wp_shortlink_header (callback)", "trace_id": 0, - "span_id": 49, - "parent_id": 37, + "span_id": 50, + "parent_id": 38, "type": "web", "meta": { "component": "wordpress", @@ -569,8 +582,8 @@ "service": "wordpress_test_app", "resource": "wp_redirect_admin_locations (callback)", "trace_id": 0, - "span_id": 50, - "parent_id": 37, + "span_id": 51, + "parent_id": 38, "type": "web", "meta": { "component": "wordpress", @@ -583,8 +596,8 @@ "service": "wordpress_test_app", "resource": "page (type)", "trace_id": 0, - "span_id": 38, - "parent_id": 12, + "span_id": 39, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", @@ -597,8 +610,8 @@ "service": "wordpress_test_app", "resource": "get_header", "trace_id": 0, - "span_id": 39, - "parent_id": 12, + "span_id": 40, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress" @@ -609,8 +622,8 @@ "service": "wordpress_test_app", "resource": "header (template)", "trace_id": 0, - "span_id": 51, - "parent_id": 39, + "span_id": 52, + "parent_id": 40, "type": "web", "meta": { "component": "wordpress", @@ -623,8 +636,8 @@ "service": "wordpress_test_app", "resource": "wp_head (hook)", "trace_id": 0, - "span_id": 54, - "parent_id": 51, + "span_id": 55, + "parent_id": 52, "type": "web", "meta": { "component": "wordpress", @@ -636,8 +649,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_javascript_detection (callback)", "trace_id": 0, - "span_id": 58, - "parent_id": 54, + "span_id": 59, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -650,8 +663,8 @@ "service": "wordpress_test_app", "resource": "_wp_render_title_tag (callback)", "trace_id": 0, - "span_id": 59, - "parent_id": 54, + "span_id": 60, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -664,8 +677,8 @@ "service": "wordpress_test_app", "resource": "wp_enqueue_scripts (callback)", "trace_id": 0, - "span_id": 60, - "parent_id": 54, + "span_id": 61, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -678,8 +691,8 @@ "service": "wordpress_test_app", "resource": "noindex (callback)", "trace_id": 0, - "span_id": 61, - "parent_id": 54, + "span_id": 62, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -692,8 +705,8 @@ "service": "wordpress_test_app", "resource": "wp_post_preview_js (callback)", "trace_id": 0, - "span_id": 62, - "parent_id": 54, + "span_id": 63, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -706,8 +719,8 @@ "service": "wordpress_test_app", "resource": "wp_resource_hints (callback)", "trace_id": 0, - "span_id": 63, - "parent_id": 54, + "span_id": 64, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -720,8 +733,8 @@ "service": "wordpress_test_app", "resource": "feed_links (callback)", "trace_id": 0, - "span_id": 64, - "parent_id": 54, + "span_id": 65, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -734,8 +747,8 @@ "service": "wordpress_test_app", "resource": "feed_links_extra (callback)", "trace_id": 0, - "span_id": 65, - "parent_id": 54, + "span_id": 66, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -748,8 +761,8 @@ "service": "wordpress_test_app", "resource": "print_emoji_detection_script (callback)", "trace_id": 0, - "span_id": 66, - "parent_id": 54, + "span_id": 67, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -762,8 +775,8 @@ "service": "wordpress_test_app", "resource": "wp_print_styles (callback)", "trace_id": 0, - "span_id": 67, - "parent_id": 54, + "span_id": 68, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -776,8 +789,8 @@ "service": "wordpress_test_app", "resource": "wp_print_head_scripts", "trace_id": 0, - "span_id": 68, - "parent_id": 54, + "span_id": 69, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -790,8 +803,8 @@ "service": "wordpress_test_app", "resource": "rest_output_link_wp_head (callback)", "trace_id": 0, - "span_id": 69, - "parent_id": 54, + "span_id": 70, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -804,8 +817,8 @@ "service": "wordpress_test_app", "resource": "rsd_link (callback)", "trace_id": 0, - "span_id": 70, - "parent_id": 54, + "span_id": 71, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -818,8 +831,8 @@ "service": "wordpress_test_app", "resource": "wlwmanifest_link (callback)", "trace_id": 0, - "span_id": 71, - "parent_id": 54, + "span_id": 72, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -832,8 +845,8 @@ "service": "wordpress_test_app", "resource": "adjacent_posts_rel_link_wp_head (callback)", "trace_id": 0, - "span_id": 72, - "parent_id": 54, + "span_id": 73, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -846,8 +859,8 @@ "service": "wordpress_test_app", "resource": "locale_stylesheet (callback)", "trace_id": 0, - "span_id": 73, - "parent_id": 54, + "span_id": 74, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -860,8 +873,8 @@ "service": "wordpress_test_app", "resource": "wp_generator (callback)", "trace_id": 0, - "span_id": 74, - "parent_id": 54, + "span_id": 75, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -874,8 +887,8 @@ "service": "wordpress_test_app", "resource": "rel_canonical (callback)", "trace_id": 0, - "span_id": 75, - "parent_id": 54, + "span_id": 76, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -888,8 +901,8 @@ "service": "wordpress_test_app", "resource": "wp_shortlink_wp_head (callback)", "trace_id": 0, - "span_id": 76, - "parent_id": 54, + "span_id": 77, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -902,8 +915,8 @@ "service": "wordpress_test_app", "resource": "_custom_logo_header_styles (callback)", "trace_id": 0, - "span_id": 77, - "parent_id": 54, + "span_id": 78, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -916,8 +929,8 @@ "service": "wordpress_test_app", "resource": "wp_oembed_add_discovery_links (callback)", "trace_id": 0, - "span_id": 78, - "parent_id": 54, + "span_id": 79, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -930,8 +943,8 @@ "service": "wordpress_test_app", "resource": "wp_oembed_add_host_js (callback)", "trace_id": 0, - "span_id": 79, - "parent_id": 54, + "span_id": 80, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -944,8 +957,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_pingback_header (callback)", "trace_id": 0, - "span_id": 80, - "parent_id": 54, + "span_id": 81, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -958,8 +971,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_colors_css_wrap (callback)", "trace_id": 0, - "span_id": 81, - "parent_id": 54, + "span_id": 82, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -972,8 +985,8 @@ "service": "wordpress_test_app", "resource": "WP_Widget_Recent_Comments::recent_comments_style (callback)", "trace_id": 0, - "span_id": 82, - "parent_id": 54, + "span_id": 83, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -986,8 +999,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_header_style (callback)", "trace_id": 0, - "span_id": 83, - "parent_id": 54, + "span_id": 84, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -1000,8 +1013,8 @@ "service": "wordpress_test_app", "resource": "wp_site_icon (callback)", "trace_id": 0, - "span_id": 84, - "parent_id": 54, + "span_id": 85, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -1014,8 +1027,8 @@ "service": "wordpress_test_app", "resource": "wp_custom_css_cb (callback)", "trace_id": 0, - "span_id": 85, - "parent_id": 54, + "span_id": 86, + "parent_id": 55, "type": "web", "meta": { "component": "wordpress", @@ -1028,8 +1041,8 @@ "service": "wordpress_test_app", "resource": "body_class", "trace_id": 0, - "span_id": 55, - "parent_id": 51, + "span_id": 56, + "parent_id": 52, "type": "web", "meta": { "component": "wordpress" @@ -1040,8 +1053,8 @@ "service": "wordpress_test_app", "resource": "the_custom_header_markup", "trace_id": 0, - "span_id": 56, - "parent_id": 51, + "span_id": 57, + "parent_id": 52, "type": "web", "meta": { "component": "wordpress" @@ -1052,8 +1065,8 @@ "service": "wordpress_test_app", "resource": "the_post", "trace_id": 0, - "span_id": 40, - "parent_id": 12, + "span_id": 41, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress" @@ -1064,8 +1077,8 @@ "service": "wordpress_test_app", "resource": "content-page (template)", "trace_id": 0, - "span_id": 41, - "parent_id": 12, + "span_id": 42, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", @@ -1078,8 +1091,8 @@ "service": "wordpress_test_app", "resource": "the_content", "trace_id": 0, - "span_id": 52, - "parent_id": 41, + "span_id": 53, + "parent_id": 42, "type": "web", "meta": { "component": "wordpress", @@ -1091,8 +1104,8 @@ "service": "wordpress_test_app", "resource": "get_footer", "trace_id": 0, - "span_id": 42, - "parent_id": 12, + "span_id": 43, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress" @@ -1103,8 +1116,8 @@ "service": "wordpress_test_app", "resource": "footer (template)", "trace_id": 0, - "span_id": 53, - "parent_id": 42, + "span_id": 54, + "parent_id": 43, "type": "web", "meta": { "component": "wordpress", @@ -1117,8 +1130,8 @@ "service": "wordpress_test_app", "resource": "wp_footer (hook)", "trace_id": 0, - "span_id": 57, - "parent_id": 53, + "span_id": 58, + "parent_id": 54, "type": "web", "meta": { "component": "wordpress", @@ -1130,8 +1143,8 @@ "service": "wordpress_test_app", "resource": "wp_print_footer_scripts (callback)", "trace_id": 0, - "span_id": 86, - "parent_id": 57, + "span_id": 87, + "parent_id": 58, "type": "web", "meta": { "component": "wordpress", @@ -1144,8 +1157,8 @@ "service": "wordpress_test_app", "resource": "wp_admin_bar_render (callback)", "trace_id": 0, - "span_id": 87, - "parent_id": 57, + "span_id": 88, + "parent_id": 58, "type": "web", "meta": { "component": "wordpress", @@ -1158,8 +1171,8 @@ "service": "wordpress_test_app", "resource": "twentyseventeen_include_svg_icons (callback)", "trace_id": 0, - "span_id": 88, - "parent_id": 57, + "span_id": 89, + "parent_id": 58, "type": "web", "meta": { "component": "wordpress", @@ -1172,7 +1185,7 @@ "service": "wordpress_test_app", "resource": "shutdown (hook)", "trace_id": 0, - "span_id": 13, + "span_id": 14, "parent_id": 1, "type": "web", "meta": { @@ -1185,8 +1198,8 @@ "service": "wordpress_test_app", "resource": "wp_ob_end_flush_all (callback)", "trace_id": 0, - "span_id": 43, - "parent_id": 13, + "span_id": 44, + "parent_id": 14, "type": "web", "meta": { "component": "wordpress", diff --git a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_return_string.json index 3db6d299f7..123707ce63 100644 --- a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_return_string.json +++ b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_return_string.json @@ -77,7 +77,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_widgets", "trace_id": 0, - "span_id": 13, + "span_id": 14, "parent_id": 5, "type": "web", "meta": { @@ -89,7 +89,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_embeds", "trace_id": 0, - "span_id": 14, + "span_id": 15, "parent_id": 5, "type": "web", "meta": { @@ -101,7 +101,7 @@ "service": "wordpress_test_app", "resource": "_wp_customize_include", "trace_id": 0, - "span_id": 15, + "span_id": 16, "parent_id": 5, "type": "web", "meta": { @@ -121,12 +121,25 @@ "wordpress.hook": "setup_theme" } }, + { + "name": "load_theme", + "service": "wordpress_test_app", + "resource": "Twentyseventeen (theme)", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "wordpress", + "wordpress.theme": "Twentyseventeen" + } + }, { "name": "action", "service": "wordpress_test_app", "resource": "after_setup_theme (hook)", "trace_id": 0, - "span_id": 7, + "span_id": 8, "parent_id": 1, "type": "web", "meta": { @@ -139,7 +152,7 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 8, + "span_id": 9, "parent_id": 1, "type": "web", "meta": { @@ -151,7 +164,7 @@ "service": "wordpress_test_app", "resource": "init (hook)", "trace_id": 0, - "span_id": 9, + "span_id": 10, "parent_id": 1, "type": "web", "meta": { @@ -164,8 +177,8 @@ "service": "wordpress_test_app", "resource": "create_initial_post_types", "trace_id": 0, - "span_id": 16, - "parent_id": 9, + "span_id": 17, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -176,8 +189,8 @@ "service": "wordpress_test_app", "resource": "create_initial_taxonomies", "trace_id": 0, - "span_id": 17, - "parent_id": 9, + "span_id": 18, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -188,8 +201,8 @@ "service": "wordpress_test_app", "resource": "wp_widgets_init", "trace_id": 0, - "span_id": 18, - "parent_id": 9, + "span_id": 19, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -200,8 +213,8 @@ "service": "wordpress_test_app", "resource": "WP_Widget_Factory._register_widgets", "trace_id": 0, - "span_id": 21, - "parent_id": 18, + "span_id": 22, + "parent_id": 19, "type": "web", "meta": { "component": "wordpress" @@ -212,7 +225,7 @@ "service": "wordpress_test_app", "resource": "wp_loaded (hook)", "trace_id": 0, - "span_id": 10, + "span_id": 11, "parent_id": 1, "type": "web", "meta": { @@ -225,7 +238,7 @@ "service": "wordpress_test_app", "resource": "WP.main", "trace_id": 0, - "span_id": 11, + "span_id": 12, "parent_id": 1, "type": "web", "meta": { @@ -237,8 +250,8 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 19, - "parent_id": 11, + "span_id": 20, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -249,8 +262,8 @@ "service": "wordpress_test_app", "resource": "WP.parse_request", "trace_id": 0, - "span_id": 20, - "parent_id": 11, + "span_id": 21, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -261,7 +274,7 @@ "service": "wordpress_test_app", "resource": "shutdown (hook)", "trace_id": 0, - "span_id": 12, + "span_id": 13, "parent_id": 1, "type": "web", "meta": { diff --git a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_exception.json index 8819625823..a804c59ea9 100644 --- a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_exception.json +++ b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_exception.json @@ -81,7 +81,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_widgets", "trace_id": 0, - "span_id": 13, + "span_id": 14, "parent_id": 5, "type": "web", "meta": { @@ -93,7 +93,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_embeds", "trace_id": 0, - "span_id": 14, + "span_id": 15, "parent_id": 5, "type": "web", "meta": { @@ -105,7 +105,7 @@ "service": "wordpress_test_app", "resource": "_wp_customize_include", "trace_id": 0, - "span_id": 15, + "span_id": 16, "parent_id": 5, "type": "web", "meta": { @@ -125,12 +125,25 @@ "wordpress.hook": "setup_theme" } }, + { + "name": "load_theme", + "service": "wordpress_test_app", + "resource": "Twentyseventeen (theme)", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "wordpress", + "wordpress.theme": "Twentyseventeen" + } + }, { "name": "action", "service": "wordpress_test_app", "resource": "after_setup_theme (hook)", "trace_id": 0, - "span_id": 7, + "span_id": 8, "parent_id": 1, "type": "web", "meta": { @@ -143,7 +156,7 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 8, + "span_id": 9, "parent_id": 1, "type": "web", "meta": { @@ -155,7 +168,7 @@ "service": "wordpress_test_app", "resource": "init (hook)", "trace_id": 0, - "span_id": 9, + "span_id": 10, "parent_id": 1, "type": "web", "meta": { @@ -168,8 +181,8 @@ "service": "wordpress_test_app", "resource": "create_initial_post_types", "trace_id": 0, - "span_id": 16, - "parent_id": 9, + "span_id": 17, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -180,8 +193,8 @@ "service": "wordpress_test_app", "resource": "create_initial_taxonomies", "trace_id": 0, - "span_id": 17, - "parent_id": 9, + "span_id": 18, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -192,8 +205,8 @@ "service": "wordpress_test_app", "resource": "wp_widgets_init", "trace_id": 0, - "span_id": 18, - "parent_id": 9, + "span_id": 19, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -204,8 +217,8 @@ "service": "wordpress_test_app", "resource": "WP_Widget_Factory._register_widgets", "trace_id": 0, - "span_id": 21, - "parent_id": 18, + "span_id": 22, + "parent_id": 19, "type": "web", "meta": { "component": "wordpress" @@ -216,7 +229,7 @@ "service": "wordpress_test_app", "resource": "wp_loaded (hook)", "trace_id": 0, - "span_id": 10, + "span_id": 11, "parent_id": 1, "type": "web", "meta": { @@ -229,7 +242,7 @@ "service": "wordpress_test_app", "resource": "WP.main", "trace_id": 0, - "span_id": 11, + "span_id": 12, "parent_id": 1, "type": "web", "error": 1, @@ -245,8 +258,8 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 19, - "parent_id": 11, + "span_id": 20, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -257,8 +270,8 @@ "service": "wordpress_test_app", "resource": "WP.parse_request", "trace_id": 0, - "span_id": 20, - "parent_id": 11, + "span_id": 21, + "parent_id": 12, "type": "web", "error": 1, "meta": { @@ -273,7 +286,7 @@ "service": "wordpress_test_app", "resource": "shutdown (hook)", "trace_id": 0, - "span_id": 12, + "span_id": 13, "parent_id": 1, "type": "web", "meta": { diff --git a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_view.json index 0b8f944cd0..afea354d76 100644 --- a/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_view.json +++ b/tests/snapshots/tests.integrations.word_press.v4_8.common_scenarios_test.test_scenario_get_with_view.json @@ -77,7 +77,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_widgets", "trace_id": 0, - "span_id": 14, + "span_id": 15, "parent_id": 5, "type": "web", "meta": { @@ -89,7 +89,7 @@ "service": "wordpress_test_app", "resource": "wp_maybe_load_embeds", "trace_id": 0, - "span_id": 15, + "span_id": 16, "parent_id": 5, "type": "web", "meta": { @@ -101,7 +101,7 @@ "service": "wordpress_test_app", "resource": "_wp_customize_include", "trace_id": 0, - "span_id": 16, + "span_id": 17, "parent_id": 5, "type": "web", "meta": { @@ -121,12 +121,25 @@ "wordpress.hook": "setup_theme" } }, + { + "name": "load_theme", + "service": "wordpress_test_app", + "resource": "Twentyseventeen (theme)", + "trace_id": 0, + "span_id": 7, + "parent_id": 1, + "type": "web", + "meta": { + "component": "wordpress", + "wordpress.theme": "Twentyseventeen" + } + }, { "name": "action", "service": "wordpress_test_app", "resource": "after_setup_theme (hook)", "trace_id": 0, - "span_id": 7, + "span_id": 8, "parent_id": 1, "type": "web", "meta": { @@ -139,7 +152,7 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 8, + "span_id": 9, "parent_id": 1, "type": "web", "meta": { @@ -151,7 +164,7 @@ "service": "wordpress_test_app", "resource": "init (hook)", "trace_id": 0, - "span_id": 9, + "span_id": 10, "parent_id": 1, "type": "web", "meta": { @@ -164,8 +177,8 @@ "service": "wordpress_test_app", "resource": "create_initial_post_types", "trace_id": 0, - "span_id": 17, - "parent_id": 9, + "span_id": 18, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -176,8 +189,8 @@ "service": "wordpress_test_app", "resource": "create_initial_taxonomies", "trace_id": 0, - "span_id": 18, - "parent_id": 9, + "span_id": 19, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -188,8 +201,8 @@ "service": "wordpress_test_app", "resource": "wp_widgets_init", "trace_id": 0, - "span_id": 19, - "parent_id": 9, + "span_id": 20, + "parent_id": 10, "type": "web", "meta": { "component": "wordpress" @@ -200,8 +213,8 @@ "service": "wordpress_test_app", "resource": "WP_Widget_Factory._register_widgets", "trace_id": 0, - "span_id": 33, - "parent_id": 19, + "span_id": 34, + "parent_id": 20, "type": "web", "meta": { "component": "wordpress" @@ -212,7 +225,7 @@ "service": "wordpress_test_app", "resource": "wp_loaded (hook)", "trace_id": 0, - "span_id": 10, + "span_id": 11, "parent_id": 1, "type": "web", "meta": { @@ -225,7 +238,7 @@ "service": "wordpress_test_app", "resource": "WP.main", "trace_id": 0, - "span_id": 11, + "span_id": 12, "parent_id": 1, "type": "web", "meta": { @@ -237,8 +250,8 @@ "service": "wordpress_test_app", "resource": "WP.init", "trace_id": 0, - "span_id": 20, - "parent_id": 11, + "span_id": 21, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -249,8 +262,8 @@ "service": "wordpress_test_app", "resource": "WP.parse_request", "trace_id": 0, - "span_id": 21, - "parent_id": 11, + "span_id": 22, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -261,8 +274,8 @@ "service": "wordpress_test_app", "resource": "WP.send_headers", "trace_id": 0, - "span_id": 22, - "parent_id": 11, + "span_id": 23, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -273,8 +286,8 @@ "service": "wordpress_test_app", "resource": "WP.query_posts", "trace_id": 0, - "span_id": 23, - "parent_id": 11, + "span_id": 24, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -285,8 +298,8 @@ "service": "wordpress_test_app", "resource": "WP.handle_404", "trace_id": 0, - "span_id": 24, - "parent_id": 11, + "span_id": 25, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -297,8 +310,8 @@ "service": "wordpress_test_app", "resource": "WP.register_globals", "trace_id": 0, - "span_id": 25, - "parent_id": 11, + "span_id": 26, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress" @@ -309,8 +322,8 @@ "service": "wordpress_test_app", "resource": "wp (hook)", "trace_id": 0, - "span_id": 26, - "parent_id": 11, + "span_id": 27, + "parent_id": 12, "type": "web", "meta": { "component": "wordpress", @@ -322,7 +335,7 @@ "service": "wordpress_test_app", "resource": "load_template_loader", "trace_id": 0, - "span_id": 12, + "span_id": 13, "parent_id": 1, "type": "web", "meta": { @@ -334,8 +347,8 @@ "service": "wordpress_test_app", "resource": "template_redirect (hook)", "trace_id": 0, - "span_id": 27, - "parent_id": 12, + "span_id": 28, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", @@ -347,8 +360,8 @@ "service": "wordpress_test_app", "resource": "page (type)", "trace_id": 0, - "span_id": 28, - "parent_id": 12, + "span_id": 29, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", @@ -361,8 +374,8 @@ "service": "wordpress_test_app", "resource": "get_header", "trace_id": 0, - "span_id": 29, - "parent_id": 12, + "span_id": 30, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress" @@ -373,8 +386,8 @@ "service": "wordpress_test_app", "resource": "header (template)", "trace_id": 0, - "span_id": 34, - "parent_id": 29, + "span_id": 35, + "parent_id": 30, "type": "web", "meta": { "component": "wordpress", @@ -387,8 +400,8 @@ "service": "wordpress_test_app", "resource": "wp_head (hook)", "trace_id": 0, - "span_id": 37, - "parent_id": 34, + "span_id": 38, + "parent_id": 35, "type": "web", "meta": { "component": "wordpress", @@ -400,8 +413,8 @@ "service": "wordpress_test_app", "resource": "wp_print_head_scripts", "trace_id": 0, - "span_id": 41, - "parent_id": 37, + "span_id": 42, + "parent_id": 38, "type": "web", "meta": { "component": "wordpress" @@ -412,8 +425,8 @@ "service": "wordpress_test_app", "resource": "body_class", "trace_id": 0, - "span_id": 38, - "parent_id": 34, + "span_id": 39, + "parent_id": 35, "type": "web", "meta": { "component": "wordpress" @@ -424,8 +437,8 @@ "service": "wordpress_test_app", "resource": "the_custom_header_markup", "trace_id": 0, - "span_id": 39, - "parent_id": 34, + "span_id": 40, + "parent_id": 35, "type": "web", "meta": { "component": "wordpress" @@ -436,8 +449,8 @@ "service": "wordpress_test_app", "resource": "the_post", "trace_id": 0, - "span_id": 30, - "parent_id": 12, + "span_id": 31, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress" @@ -448,8 +461,8 @@ "service": "wordpress_test_app", "resource": "content-page (template)", "trace_id": 0, - "span_id": 31, - "parent_id": 12, + "span_id": 32, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress", @@ -462,8 +475,8 @@ "service": "wordpress_test_app", "resource": "the_content", "trace_id": 0, - "span_id": 35, - "parent_id": 31, + "span_id": 36, + "parent_id": 32, "type": "web", "meta": { "component": "wordpress", @@ -475,8 +488,8 @@ "service": "wordpress_test_app", "resource": "get_footer", "trace_id": 0, - "span_id": 32, - "parent_id": 12, + "span_id": 33, + "parent_id": 13, "type": "web", "meta": { "component": "wordpress" @@ -487,8 +500,8 @@ "service": "wordpress_test_app", "resource": "footer (template)", "trace_id": 0, - "span_id": 36, - "parent_id": 32, + "span_id": 37, + "parent_id": 33, "type": "web", "meta": { "component": "wordpress", @@ -501,8 +514,8 @@ "service": "wordpress_test_app", "resource": "wp_footer (hook)", "trace_id": 0, - "span_id": 40, - "parent_id": 36, + "span_id": 41, + "parent_id": 37, "type": "web", "meta": { "component": "wordpress", @@ -514,7 +527,7 @@ "service": "wordpress_test_app", "resource": "shutdown (hook)", "trace_id": 0, - "span_id": 13, + "span_id": 14, "parent_id": 1, "type": "web", "meta": {