- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
After you set up the tracing library with your code and configure the Agent to collect APM data, optionally configure the tracing library as desired, including setting up Unified Service Tagging.
The PHP tracer can be configured using environment variables and INI settings.
INI settings can be configured globally, for example, in the php.ini
file, or for a specific web server or virtual host.
Note: If you use code auto-instrumentation (the recommended approach), be aware that the instrumenting code is executed before any user code. As a result, the environment variables and the INI settings below must be set at the server level and be available to the PHP runtime before any user code is executed. For example, putenv()
and .env
files do not work.
For Apache with php-fpm, use the env
directive in your www.conf
configuration file to configure the PHP tracer, for example:
; Example of passing the host environment variable SOME_ENV
; to the PHP process as DD_AGENT_HOST
env[DD_AGENT_HOST] = $SOME_ENV
; Example of passing the value 'my-app' to the PHP
; process as DD_SERVICE
env[DD_SERVICE] = my-app
; Or using the equivalent INI setting
php_value datadog.service my-app
Alternatively, you can use SetEnv
from the server config, virtual host, directory, or .htaccess
file.
# In a virtual host configuration as an environment variable
SetEnv DD_TRACE_DEBUG 1
# In a virtual host configuration as an INI setting
php_value datadog.service my-app
false
in env[...]
directives. Use 1
in place of true
and 0
in place of false
.For NGINX, use the env
directive in the php-fpm’s www.conf
file, for example:
; Example of passing the host environment variable SOME_ENV
; to the PHP process as DD_AGENT_HOST
env[DD_AGENT_HOST] = $SOME_ENV
; Example of passing the value 'my-app' to the PHP
; process as DD_SERVICE
env[DD_SERVICE] = my-app
; Or using the equivalent INI setting
php_value[datadog.service] = my-app
Note: If you have enabled APM for your NGINX server, make sure you have properly configured the opentracing_fastcgi_propagate_context
setting for distributed tracing to properly work. See NGINX APM configuration for more details.
Set in the command line to start the server.
DD_TRACE_DEBUG=1 php -d datadog.service=my-app -S localhost:8888
The following table lists the environment variables for configuring tracing, and corresponding INI settings (where available) and defaults.
DD_ENV
datadog.env
null
prod
, pre-prod
, stage
. Starting version 0.90.0
, changes to datadog.version
at runtime through ini_set
are also applied to the current root span.DD_VERSION
datadog.version
null
1.2.3
, 6c44da20
, 2020.02.13
. Starting version 0.90.0
, changes to datadog.version
at runtime through ini_set
are also applied to the current root span.DD_SERVICE
datadog.service
null
DD_TRACE_ENABLED
datadog.trace.enabled
1
DD_PRIORITY_SAMPLING
datadog.priority_sampling
1
DD_SERVICE_MAPPING
datadog.service_mapping
null
DD_SERVICE_MAPPING=pdo:payments-db,mysqli:orders-db
(see Integration names).DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED
datadog.trace.128_bit_traceid_generation_enabled
true
DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED
datadog.trace.128_bit_traceid_logging_enabled
0
DD_TRACE_HEALTH_METRICS_ENABLED
datadog.trace_health_metrics_enabled
false
sigaction
is available at build time, the tracer sends uncaught exception metrics upon segfaults.DD_TRACE_AGENT_CONNECT_TIMEOUT
datadog.trace.agent_connect_timeout
100
DD_TRACE_AGENT_PORT
datadog.trace.agent_port
8126
receiver_port
or DD_APM_RECEIVER_PORT
to something other than the default 8126
, then DD_TRACE_AGENT_PORT
or DD_TRACE_AGENT_URL
must match it.DD_TRACE_AGENT_TIMEOUT
datadog.trace.agent_timeout
500
DD_TRACE_AGENT_URL
datadog.trace.agent_url
null
DD_AGENT_HOST
and DD_TRACE_AGENT_PORT
. For example: https://localhost:8126
. If the Agent configuration sets receiver_port
or DD_APM_RECEIVER_PORT
to something other than the default 8126
, then DD_TRACE_AGENT_PORT
or DD_TRACE_AGENT_URL
must match it.DD_TRACE_AUTO_FLUSH_ENABLED
datadog.trace.auto_flush_enabled
0
1
in conjunction with DD_TRACE_GENERATE_ROOT_SPAN=0
to trace long-running processes.DD_TRACE_CLI_ENABLED
datadog.trace.cli_enabled
0
DD_TRACE_DEBUG
datadog.trace.debug
0
1
, log messages are sent to the device or file set in the error_log
INI setting. The actual value of error_log
may be different than the output of php -i
as it can be overwritten in the PHP-FPM/Apache configuration files. Takes precedence over DD_TRACE_LOG_LEVEL
if active.DD_TRACE_LOG_LEVEL
datadog.trace.log_level
Error
error
, warn
, info
, debug
, trace
and off
.DD_TRACE_LOG_FILE
datadog.trace.log_file
DD_TRACE_FORKED_PROCESS
datadog.trace.forked_process
1
1
to trace forked processes, or to 0
to disable tracing in forked processes. If set to 0
, you can still manually re-enable a process’ trace in code with ini_set("datadog.trace.enabled", "1");
, but it will be presented as a fresh trace. Forked process traces are shown as whole distributed traces only when both DD_TRACE_FORKED_PROCESS
and DD_DISTRIBUTED_TRACING
are configured to 1
(on).DD_TRACE_GENERATE_ROOT_SPAN
datadog.trace.generate_root_span
1
0
in conjunction with DD_TRACE_AUTO_FLUSH_ENABLED=1
to trace long-running processes.DD_TRACE_HEADER_TAGS
datadog.trace.header_tags
null
DD_TRACE_HTTP_CLIENT_SPLIT_BY_DOMAIN
datadog.trace.http_client_split_by_domain
0
host-<hostname>
, for example a curl_exec()
call to https://datadoghq.com
has the service name host-datadoghq.com
instead of the default service name of curl
.DD_TRACE_MEASURE_COMPILE_TIME
datadog.trace.measure_compile_time
1
DD_TRACE_REMOVE_AUTOINSTRUMENTATION_ORPHANS
datadog.trace.remove_autoinstrumentation_orphans
false
0.88.0
.laravel.event.handle
laravel.provider.load
Predis.Client.__construct
Predis.Client.executeCommand
Predis.Pipeline.executePipeline
DD_TRACE_REMOVE_ROOT_SPAN_LARAVEL_QUEUE
datadog.trace.remove_root_span_laravel_queue
true
DD_TRACE_GENERATE_ROOT_SPAN
) and enable auto-flushing (see DD_TRACE_AUTO_FLUSH_ENABLED
) for Laravel Queue/Horizon commands. Added in version 0.88.0
.DD_TRACE_REMOVE_ROOT_SPAN_SYMFONY_MESSENGER
datadog.trace.remove_root_span_symfony_messenger
true
DD_TRACE_GENERATE_ROOT_SPAN
) and enable auto-flushing (see DD_TRACE_AUTO_FLUSH_ENABLED
) for Symfony Messenger commands. Added in version 1.3.0
.DD_TRACE_LARAVEL_QUEUE_DISTRIBUTED_TRACING
datadog.trace.laravel_queue_distributed_tracing
true
laravel.queue.process
span and relies solely on span links. Added in version 0.93.0
.DD_TRACE_SYMFONY_MESSENGER_DISTRIBUTED_TRACING
datadog.trace.symfony_messenger_distributed_tracing
true
1.3.0
.DD_TRACE_SYMFONY_MESSENGER_MIDDLEWARES
datadog.trace.symfony_messenger_middlewares
false
1.3.0
.DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
datadog.trace.resource_uri_fragment_regex
null
DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
datadog.trace.resource_uri_mapping_incoming
null
DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
datadog.trace.resource_uri_mapping_outgoing
null
DD_TRACE_RETAIN_THREAD_CAPABILITIES
datadog.trace.retain_thread_capabilities
0
true
to retain capabilities on Datadog background threads when you change the effective user ID. This option does not affect most setups, but some modules - to date Datadog is only aware of Apache’s mod-ruid2 - may invoke setuid()
or similar syscalls, leading to crashes or loss of functionality as it loses capabilities.setcap
utility.DD_HTTP_SERVER_ROUTE_BASED_NAMING
datadog.http_server_route_based_naming
true
true
to use the integration-specific root span’s resource name format. When false
, the HTTP method and path are used instead. Added in version 0.89.0
.DD_TRACE_SAMPLE_RATE
datadog.trace.sample_rate
-1
0.0
and 1.0
. The default value of -1
defers control of sampling to the Datadog Agent.DD_TRACE_RATE_LIMIT
datadog.trace.rate_limit
0
DD_TRACE_URL_AS_RESOURCE_NAMES_ENABLED
datadog.trace.url_as_resource_names_enabled
1
DD_TRACE_HTTP_URL_QUERY_PARAM_ALLOWED
datadog.trace.http_url_query_param_allowed
*
*
to collect all parameters. Added in version 0.74.0
.DD_TRACE_HTTP_POST_DATA_PARAM_ALLOWED
datadog.trace.http_post_data_param_allowed
*
, all posted data is collected, but the values for fields that match the DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP
obfuscation rule are redacted. If specific fields are given, then only these fields’ values are visible, while the values for all other fields are redacted. Added in version 0.86.0
.qux=quux&foo[bar][password]=Password12!&foo[bar][username]=admin&foo[baz][bar]=qux&foo[baz][key]=value
DD_TRACE_HTTP_POST_DATA_PARAM_ALLOWED
is set to foo.baz,foo.bar.password
http.request.foo.bar.password=Password12!
http.request.foo.bar.username=<redacted>
http.request.foo.baz.bar=qux
http.request.foo.baz.key=value
http.request.qux=<redacted>
DD_TRACE_RESOURCE_URI_QUERY_PARAM_ALLOWED
datadog.trace.resource_uri_query_param_allowed
*
*
to collect all parameters. Added in version 0.74.0
.DD_TRACE_CLIENT_IP_ENABLED
datadog.trace.client_ip_enabled
false
0.84.0
.DD_TRACE_CLIENT_IP_HEADER
datadog.trace.client_ip_header
null
x-forwarded-for
. Added in version 0.84.0
(0.76.0
when using ASM).DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP
datadog.trace.obfuscation_query_string_regexp
(?i)(?:p(?:ass)?w(?:or)?d|pass(?:_?phrase)?|secret|(?:api_?|private_?|public_?|access_?|secret_?)key(?:_?id)?|token|consumer_?(?:id|key|secret)|sign(?:ed|ature)?|auth(?:entication|orization)?)(?:(?:\s|%20)*(?:=|%3D)[^&]+|(?:"|%22)(?:\s|%20)*(?::|%3A)(?:\s|%20)*(?:"|%22)(?:%2[^2]|%[^2]|[^"%])+(?:"|%22))|bearer(?:\s|%20)+[a-z0-9\._\-]|token(?::|%3A)[a-z0-9]{13}|gh[opsu]_[0-9a-zA-Z]{36}|ey[I-L](?:[\w=-]|%3D)+\.ey[I-L](?:[\w=-]|%3D)+(?:\.(?:[\w.+\/=-]|%3D|%2F|%2B)+)?|[\-]{5}BEGIN(?:[a-z\s]|%20)+PRIVATE(?:\s|%20)KEY[\-]{5}[^\-]+[\-]{5}END(?:[a-z\s]|%20)+PRIVATE(?:\s|%20)KEY|ssh-rsa(?:\s|%20)*(?:[a-z0-9\/\.+]|%2F|%5C|%2B){100,}
Regular expression used to obfuscate the query string included as part of the URL. This expression is also used in the redaction process for HTTP POST data. Added in version 0.76.0
.
DD_TRACE_SAMPLING_RULES
datadog.trace.sampling_rules
null
'[{"sample_rate": 0.2}]'
. Set the sample rate to 10% for services starting with ‘a’ and span name ‘b’ and set the sample rate to 20% for all other services: '[{"service": "a.*", "name": "b", "sample_rate": 0.1}, {"sample_rate": 0.2}]'
(see Integration names). The JSON object must be surrounded by single quotes ('
) to avoid problems with escaping of the double quote ("
) character. The service matching takes DD_SERVICE_MAPPING
into account (starting version 0.90.0
). The name and service must be a valid regular expression. Rules that are not valid regular expressions are ignored.DD_TRACE_SAMPLING_RULES_FORMAT
datadog.trace.sampling_rules_format
glob
regex
or glob
) used for sampling rules defined by DD_TRACE_SAMPLING_RULES
. Added in version 0.98.0
and deprecated as of 1.0.0
.DD_TRACE_SPANS_LIMIT
datadog.trace.spans_limit
1000
memory_limit
.DD_SPAN_SAMPLING_RULES
datadog.span_sampling_rules
null
sample_rate
value must be between 0.0 and 1.0 (inclusive).'[{"service": "my-service", "name": "http.request", "sample_rate":0.5, "max_per_second": 50}]'
. The JSON object must be surrounded by single quotes ('
) to avoid problems with escaping of the double quote ("
) character.DD_AGENT_HOST
datadog.agent_host
localhost
DD_AUTOFINISH_SPANS
datadog.autofinish_spans
0
DD_DISTRIBUTED_TRACING
datadog.distributed_tracing
1
DD_DOGSTATSD_URL
datadog.dogstatsd_url
null
DD_AGENT_HOST
and DD_DOGSTATSD_PORT
. Supports udp://
or unix://
schemas only.DD_DOGSTATSD_PORT
datadog.dogstatsd_port
8125
DD_AGENT_HOST
to negotiate connection to DogStatsD when DD_TRACE_HEALTH_METRICS_ENABLED
is enabled.DD_TAGS
datadog.tags
null
key1:value1,key2:value2
.DD_INSTRUMENTATION_TELEMETRY_ENABLED
datadog.instrumentation_telemetry_enabled
true
DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE
datadog.trace.db_client_split_by_instance
0
pdo-<hostname>
. For example, a PDO->query()
call to a database host datadoghq.com
has the service name pdo-datadoghq.com
instead of the default service name of pdo
.DD_TRACE_REDIS_CLIENT_SPLIT_BY_HOST
datadog.trace.redis_client_split_by_host
0
redis-<hostname>
.DD_DBM_PROPAGATION_MODE
datadog.dbm_propagation_mode
'disabled'
'service'
or 'full'
.'service'
option enables the connection between DBM and APM services. Available for Postgres, MySQL and SQLServer.'full'
option enables connection between database spans with database query events. Available for Postgres and MySQL.DD_LOGS_INJECTION
datadog.logs_injection
0
0.89.0
DD_TRACE_OTEL_ENABLED
true
or false
.false
DD_PROFILING_ENABLED
datadog.profiling.enabled
. INI available since 0.82.0
.1
0.69.0
. See Enabling the PHP Profiler. For version 0.81.0
and below it defaulted to 0
.DD_PROFILING_ENDPOINT_COLLECTION_ENABLED
datadog.profiling.endpoint_collection_enabled
. INI available since 0.82.0
.1
0.79.0
.DD_PROFILING_ALLOCATION_ENABLED
datadog.profiling.allocation_enabled
. INI available since 0.88.0
.1
0.88.0
. When an active JIT is detected, allocation profiling is turned off for PHP version 8.0.0
-8.1.20
and 8.2.0
-8.2.7
due to a limitation of the ZendEngine.DD_PROFILING_EXPERIMENTAL_ALLOCATION_ENABLED
environment variable (datadog.profiling.experimental_allocation_enabled
INI setting), which was available since 0.84
. If both are set, this one takes precedence.DD_PROFILING_EXPERIMENTAL_FEATURES_ENABLED
datadog.profiling.experimental_features_enabled
. INI available since 0.96.0
.0
DD_PROFILING_EXPERIMENTAL_CPU_TIME_ENABLED
datadog.profiling.experimental_cpu_time_enabled
. INI available since 0.82.0
.1
0.69.0
. For version 0.76
and below it defaulted to 0
.DD_PROFILING_EXCEPTION_ENABLED
datadog.profiling.exception_enabled
. INI available since 0.96.0
.1
0.92.0
and GA
in version 0.96.0
.DD_PROFILING_EXPERIMENTAL_EXCEPTION_ENABLED
environment variable (datadog.profiling.experimental_exception_enabled
INI setting), which was available since 0.92
. If both are set, this one takes precedence.DD_PROFILING_EXCEPTION_MESSAGE_ENABLED
datadog.profiling.exception_message_enabled
. INI available since 0.98.0
.0
DD_PROFILING_EXCEPTION_SAMPLING_DISTANCE
datadog.profiling.exception_sampling_distance
. INI available since 0.96.0
.100
DD_PROFILING_EXPERIMENTAL_EXCEPTION_SAMPLING_DISTANCE
environment variable (datadog.profiling.experimental_exception_sampling_distance
INI setting), which was available since 0.92
. If both are set, this one takes precedence.DD_PROFILING_TIMELINE_ENABLED
datadog.profiling.timeline_enabled
. INI available since 0.98.0
.1
0.89.0
.DD_PROFILING_EXPERIMENTAL_TIMELINE_ENABLED
environment variable (datadog.profiling.experimental_timeline_enabled
INI setting), which was available since 0.89
(default 0
). If both are set, this one takes precedence.DD_PROFILING_LOG_LEVEL
datadog.profiling.log_level
. INI available since 0.82.0
.off
off
, error
, warn
, info
, debug
, and trace
. The profiler’s logs are written to the standard error stream of the process. Added in version 0.69.0
.Read Trace Context Propagation for information about configuring the PHP tracing library to extract and inject headers for propagating distributed trace context.
DD_TRACE_PROPAGATION_STYLE_INJECT
datadog.trace.propagation_style_inject
Datadog,tracecontext
DD_TRACE_PROPAGATION_STYLE_EXTRACT
datadog.trace.propagation_style_extract
Datadog,tracecontext,b3multi,B3 single header
DD_TRACE_<INTEGRATION>_ENABLED
datadog.trace.<INTEGRATION>_enabled
1
DD_TRACE_WORDPRESS_ADDITIONAL_ACTIONS
datadog.trace.wordpress_additional_actions
null
DD_TRACE_WORDPRESS_ENHANCED_INTEGRATION
is enabled. Added in version 0.91.0
.DD_TRACE_WORDPRESS_CALLBACKS
datadog.trace.wordpress_callbacks
true
for PHP tracer >= v1.0DD_TRACE_WORDPRESS_ENHANCED_INTEGRATION
is enabled. Added in version 0.91.0
.DD_OPENAI_SERVICE
datadog.openai.service
DD_SERVICE
DD_OPENAI_LOGS_ENABLED
(beta)datadog.openai.logs_enabled
false
DD_OPENAI_METRICS_ENABLED
datadog.openai.metrics_enabled
true
DD_DOGSTATSD_URL
to configure the OpenAI metrics collection.DD_OPENAI_SPAN_CHAR_LIMIT
(beta)datadog.openai.span_char_limit
128
Text exceeding the maximum number of characters is truncated to the character limit and has ...
appended to the end.
DD_OPENAI_SPAN_PROMPT_COMPLETION_SAMPLE_RATE
(beta)datadog.openai.span_prompt_completion_sample_rate
1.0
DD_OPENAI_LOG_PROMPT_COMPLETION_SAMPLE_RATE
(beta)datadog.openai.log_prompt_completion_sample_rate
0.1
The table below specifies the default service names for each integration. Change the service names with DD_SERVICE_MAPPING
.
Use the name when setting integration-specific configuration such as, DD_TRACE_<INTEGRATION>_ENABLED
, for example: Laravel is DD_TRACE_LARAVEL_ENABLED
.
Integration | Service Name |
---|---|
AMQP | amqp |
CakePHP | cakephp |
CodeIgniter | codeigniter |
cURL | curl |
ElasticSearch | elasticsearch |
Eloquent | eloquent |
Guzzle | guzzle |
Laminas | laminas |
Laravel | laravel |
Laravel Queue | laravelqueue |
Lumen | lumen |
Memcache | memcache |
Memcached | memcached |
Mongo | mongo |
MongoDB | mongodb |
Mysqli | mysqli |
Nette | nette |
OpenAI | openai |
PCNTL | pcntl |
PDO | pdo |
PhpRedis | phpredis |
Predis | predis |
Psr18 | psr18 |
Roadrunner | roadrunner |
Sql Server | sqlsrv |
Symfony | symfony |
Symfony Messenger | symfonymessenger |
WordPress | wordpress |
Yii | yii |
ZendFramework | zendframework |
DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
, DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
, and DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
will opt-in to the new resource normalization approach and any value in DD_TRACE_RESOURCE_URI_MAPPING
will be ignored.For HTTP server and client integrations, the URL is used to form the trace resource name in the format <HTTP_REQUEST_METHOD> <NORMALIZED_URL>
, with the query string removed from the URL. This allows better visibility in any custom framework that is not automatically instrumented by normalizing the URLs and grouping together generic endpoints under one resource.
HTTP Request | Resource Name |
---|---|
GET request to /foo?a=1&b=2 | GET /foo |
POST request to /bar?foo=bar | POST /bar |
Numeric IDs, UUIDs (with and without dashes), and 32-to-512-bit hexadecimal hashes are automatically replaced with a ?
character.
URL (GET request) | Resource Name |
---|---|
/user/123/show | GET /user/?/show |
/widget/b7a992e0-3300-4030-8617-84553b11c993 | GET /widget/? |
/api/v2/b7a992e033004030861784553b11c993/123 | GET /api/v2/?/? |
/book/0dbf3596 | GET /book/? |
You can turn this functionality OFF using DD_TRACE_URL_AS_RESOURCE_NAMES_ENABLED=0
.
There are a few cases that are not covered by the automatic normalization that is applied.
URL (GET request) | Expected Resource Name |
---|---|
/using/prefix/id123/for/id | GET /using/prefix/?/for/id |
/articles/slug-of-title | GET /articles/? |
/cities/new-york/rivers | GET /cities/?/rivers |
/nested/cities/new-york/rivers | GET /nested/cities/?/rivers |
There are two classes of scenarios that are not covered by automatic normalization:
id<number>
in the example above. This scenario is covered by the setting DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
below./cities/new-york
tells us that new-york
has to be normalized as it is the name of a city. This scenario is covered by settings DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
and DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
for incoming and outgoing requests respectively.DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
This setting is a CSV of one or more regular expressions that are applied to every path fragment independently. For example, setting DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
to ^id\d+$
for a path of /using/prefix/id123/for/id
applies the regex to each of the fragments: using
, prefix
, id123
, for
, and id
.
URL | regex | Expected Resource Name |
---|---|---|
/using/prefix/id123/for/id | ^id\d+$ | GET /using/prefix/?/for/id |
Note that because the format of this variable is a CSV, the comma character ,
is not escaped and cannot be used in your regular expressions.
DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
and DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
This setting is a CSV of patterns that can contain a wildcard *
. For example, adding the pattern cities/*
means that every time the fragment cities
is found while analyzing a URL, then the next fragment, if any, will be replaced with ?
. Patterns are applied at any depth, so applying the following rule will both normalize /cities/new-york
and /nested/cities/new-york
in the table above.
Patterns can be applied to a part of a specific fragment. For example path/*-fix
would normalize the url /some/path/changing-fix/nested
to /some/path/?-fix/nested
Note that DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
applies to only incoming requests (for example web frameworks) while DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
only applies to outgoing requests (for example curl
and guzzle
requests).
open_basedir
restrictionsWhen open_basedir
setting is used, then /opt/datadog-php
should be added to the list of allowed directories.
When the application runs in a docker container, the path /proc/self
should also be added to the list of allowed directories.