Closed deiga closed 12 months ago
Hello,
Thanks for reporting this, indeed this shouldn't be happening. We're working on a fix and we'll include it in the next release.
As a temporary workaround, disabling appsec should get rid of these message for you, to do so, please add (or uncomment)datadog.appsec.enabled = Off
to your 98-ddtrace.ini
.
can go through env variable too DD_APPSEC_ENABLED = false
To add to this- I hadn't explicitly installed appsec either and was experiencing an issue where the first request on a new PHP process would block for 100 seconds before any PHP was executed. Explicitly disabling appsec made the issue go away.
Annoyingly, phpinfo()
included the following:
Directive | Local Value | Master Value |
---|---|---|
datadog.appsec.enabled | Off | Off |
What gave it away was the following strace output:
[pid 813786] connect(11, {sa_family=AF_UNIX, sun_path="/tmp/ddappsec_0.7.2_33.33.sock"}, 110) = -1 ECONNREFUSED (Connection refused)
[pid 813786] close(11) = 0
[pid 813786] openat(AT_FDCWD, "/tmp/ddappsec_0.7.2_33.33.lock", O_RDONLY|O_CREAT|O_NOFOLLOW, 0600) = 11
[pid 813786] flock(11, LOCK_EX|LOCK_NB) = 0
[pid 813786] openat(AT_FDCWD, "/dev/null", O_WRONLY|O_CREAT|O_APPEND, 0600) = 12
[pid 813786] unlink("/tmp/ddappsec_0.7.2_33.33.sock") = 0
[pid 813786] socket(AF_UNIX, SOCK_STREAM, 0) = 13
[pid 813786] bind(13, {sa_family=AF_UNIX, sun_path="/tmp/ddappsec_0.7.2_33.33.sock"}, 110) = 0
[pid 813786] listen(13, 20) = 0
[pid 813786] clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLDstrace: Process 815061 attached
, child_tidptr=0x7efde0e29010) = 23
[pid 815061] set_robust_list(0x7efde0e29020, 24 <unfinished ...>
[pid 813786] close(12 <unfinished ...>
[pid 815061] <... set_robust_list resumed>) = 0
[pid 813786] <... close resumed>) = 0
[pid 813786] close(13) = 0
[pid 813786] wait4(23, <unfinished ...>
[pid 815061] prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1073741816, rlim_max=1073741816}) = 0
[pid 815061] close(0) = 0
[pid 815061] close(1) = 0
[pid 815061] close(2) = 0
[pid 815061] close(3) = 0
[pid 815061] close(4) = 0
[pid 815061] close(5) = 0
[pid 815061] close(6) = 0
[pid 815061] close(7) = 0
[pid 815061] close(8) = 0
[pid 815061] close(9) = 0
[pid 815061] close(10) = 0
[pid 815061] close(14) = -1 EBADF (Bad file descriptor)
[pid 815061] close(15) = -1 EBADF (Bad file descriptor)
[pid 815061] close(16) = -1 EBADF (Bad file descriptor)
[pid 815061] close(17) = -1 EBADF (Bad file descriptor)
[pid 815061] close(18) = -1 EBADF (Bad file descriptor)
[pid 815061] close(19) = -1 EBADF (Bad file descriptor)
... continues on into the billions until the 100 second timeout occurs
The original issue reported here should be fixed in the next tracer release (0.87.0
).
@paco3346 thanks for the strace output, we are now working on a fix for that issue as well.
0.87.2 is out, but I don't see any mentions to this issue in the release notes. Has this been fixed already?
@dserodio the issue reported by @deiga has been fixed, but the fix for the one reported by @paco3346 will be available in the next release.
Are you sure this is fixed? I Installed with php datadog-setup.php --php-bin=all
php -v
shows the following
PHP 8.1.21 (cli) (built: Jul 10 2023 23:14:30) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.21, Copyright (c) Zend Technologies
with Zend OPcache v8.1.21, Copyright (c), by Zend Technologies
with ddtrace v0.90.0, Copyright Datadog, by Datadog
with ddappsec v0.10.0, Copyright Datadog, by Datadog
When I disabled tracing using the environment variable DD_TRACE_ENABLED=false
I started getting these messages printed out until I set DD_APPSEC_ENABLED=false
, datadog.appsec.enabled
is not explicitly enabled in the ini, it's commented out
php -i
shows the following
ddappsec
Datadog PHP AppSec extension
(c) Datadog 2021
State managed by remote config => No
Current state => Disabled
Version => 0.10.0
Directive => Local Value => Master Value
datadog.appsec.automated_user_events_tracking => safe => safe
datadog.appsec.enabled => Off => Off
datadog.appsec.extra_headers => no value => no value
datadog.appsec.helper_extra_args => no value => no value
datadog.appsec.helper_launch => On => On
datadog.appsec.helper_log_file => /dev/null => /dev/null
datadog.appsec.helper_path => /opt/datadog/dd-library/0.90.0/bin/ddappsec-helper => /opt/datadog/dd-library/0.90.0/bin/ddappsec-helper
datadog.appsec.helper_runtime_path => /tmp => /tmp
datadog.appsec.http_blocked_template_html => no value => no value
datadog.appsec.http_blocked_template_json => no value => no value
datadog.appsec.log_file => php_error_reporting => php_error_reporting
datadog.appsec.log_level => warn => warn
datadog.appsec.obfuscation_parameter_key_regexp => (?i)(?:p(?:ass)?w(?:or)?d|pass(?:_?phrase)?|secret|(?:api_?|private_?|public_?)key)|token|consumer_?(?:id|key|secret)|sign(?:ed|ature)|bearer|authorization => (?i)(?:p(?:ass)?w(?:or)?d|pass(?:_?phrase)?|secret|(?:api_?|private_?|public_?)key)|token|consumer_?(?:id|key|secret)|sign(?:ed|ature)|bearer|authorization
datadog.appsec.obfuscation_parameter_value_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*=[^;]|"\s*:\s*"[^"]+")|bearer\s+[a-z0-9\._\-]+|token:[a-z0-9]{13}|gh[opsu]_[0-9a-zA-Z]{36}|ey[I-L][\w=-]+\.ey[I-L][\w=-]+(?:\.[\w.+\/=-]+)?|[\-]{5}BEGIN[a-z\s]+PRIVATE\sKEY[\-]{5}[^\-]+[\-]{5}END[a-z\s]+PRIVATE\sKEY|ssh-rsa\s*[a-z0-9\/\.+]{100,} => (?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*=[^;]|"\s*:\s*"[^"]+")|bearer\s+[a-z0-9\._\-]+|token:[a-z0-9]{13}|gh[opsu]_[0-9a-zA-Z]{36}|ey[I-L][\w=-]+\.ey[I-L][\w=-]+(?:\.[\w.+\/=-]+)?|[\-]{5}BEGIN[a-z\s]+PRIVATE\sKEY[\-]{5}[^\-]+[\-]{5}END[a-z\s]+PRIVATE\sKEY|ssh-rsa\s*[a-z0-9\/\.+]{100,}
datadog.appsec.rules => no value => no value
datadog.appsec.testing => Off => Off
datadog.appsec.testing_abort_rinit => Off => Off
datadog.appsec.testing_raw_body => Off => Off
datadog.appsec.trace_rate_limit => 100 => 100
datadog.appsec.waf_timeout => 10000 => 10000
datadog.remote_config_enabled => On => On
datadog.remote_config_poll_interval => 1000 => 1000
ddtrace
Datadog PHP tracer extension
For help, check out the documentation at https://docs.datadoghq.com/tracing/languages/php/
(c) Datadog 2020
Datadog tracing support => disabled
Version => 0.90.0
DATADOG TRACER CONFIGURATION => {
"date": "2023-07-20T10:35:00Z",
"os_name": "Linux 1b7a45e9acb1 5.15.49-linuxkit-pr #1 SMP PREEMPT Thu May 25 07:27:39 UTC 2023 x86_64",
"os_version": "5.15.49-linuxkit-pr",
"version": "0.90.0",
"lang": "php",
"lang_version": "8.1.15",
"env": null,
"enabled": true,
"service": null,
"enabled_cli": false,
"agent_url": "http:\/\/localhost:8126",
"debug": false,
"analytics_enabled": false,
"sample_rate": 1,
"sampling_rules": [],
"tags": [],
"service_mapping": [],
"distributed_tracing_enabled": true,
"priority_sampling_enabled": true,
"dd_version": null,
"architecture": "x86_64",
"sapi": "cli",
"datadog.trace.request_init_hook": "\/opt\/datadog\/dd-library\/0.90.0\/dd-trace-sources\/bridge\/dd_wrap_autoloader.php",
"open_basedir_configured": false,
"uri_fragment_regex": null,
"uri_mapping_incoming": null,
"uri_mapping_outgoing": null,
"auto_flush_enabled": false,
"generate_root_span": true,
"http_client_split_by_domain": false,
"measure_compile_time": true,
"report_hostname_on_root_span": false,
"traced_internal_functions": null,
"auto_prepend_file_configured": false,
"integrations_disabled": "default",
"enabled_from_env": false,
"opcache.file_cache": null,
"agent_error": "Failed to connect to localhost port 8126 after 4 ms: Couldn't connect to server"
}
Directive => Local Value => Master Value
datadog.agent_host => no value => no value
datadog.amqp_analytics_enabled => Off => Off
datadog.amqp_analytics_sample_rate => 1 => 1
datadog.autofinish_spans => Off => Off
datadog.cakephp_analytics_enabled => Off => Off
datadog.cakephp_analytics_sample_rate => 1 => 1
datadog.codeigniter_analytics_enabled => Off => Off
datadog.codeigniter_analytics_sample_rate => 1 => 1
datadog.curl_analytics_enabled => Off => Off
datadog.curl_analytics_sample_rate => 1 => 1
datadog.dbm_propagation_mode => disabled => disabled
datadog.distributed_tracing => On => On
datadog.dogstatsd_port => 8125 => 8125
datadog.dogstatsd_url => no value => no value
datadog.elasticsearch_analytics_enabled => Off => Off
datadog.elasticsearch_analytics_sample_rate => 1 => 1
datadog.eloquent_analytics_enabled => Off => Off
datadog.eloquent_analytics_sample_rate => 1 => 1
datadog.env => no value => no value
datadog.guzzle_analytics_enabled => Off => Off
datadog.guzzle_analytics_sample_rate => 1 => 1
datadog.http_server_route_based_naming => On => On
datadog.instrumentation_telemetry_enabled => On => On
datadog.integrations_disabled => default => default
datadog.laminas_analytics_enabled => Off => Off
datadog.laminas_analytics_sample_rate => 1 => 1
datadog.laravel_analytics_enabled => Off => Off
datadog.laravel_analytics_sample_rate => 1 => 1
datadog.laravelqueue_analytics_enabled => Off => Off
datadog.laravelqueue_analytics_sample_rate => 1 => 1
datadog.log_backtrace => Off => Off
datadog.logs_analytics_enabled => Off => Off
datadog.logs_analytics_sample_rate => 1 => 1
datadog.logs_injection => On => On
datadog.lumen_analytics_enabled => Off => Off
datadog.lumen_analytics_sample_rate => 1 => 1
datadog.memcache_analytics_enabled => Off => Off
datadog.memcache_analytics_sample_rate => 1 => 1
datadog.memcached_analytics_enabled => Off => Off
datadog.memcached_analytics_sample_rate => 1 => 1
datadog.mongo_analytics_enabled => Off => Off
datadog.mongo_analytics_sample_rate => 1 => 1
datadog.mongodb_analytics_enabled => Off => Off
datadog.mongodb_analytics_sample_rate => 1 => 1
datadog.mysqli_analytics_enabled => Off => Off
datadog.mysqli_analytics_sample_rate => 1 => 1
datadog.nette_analytics_enabled => Off => Off
datadog.nette_analytics_sample_rate => 1 => 1
datadog.pcntl_analytics_enabled => Off => Off
datadog.pcntl_analytics_sample_rate => 1 => 1
datadog.pdo_analytics_enabled => Off => Off
datadog.pdo_analytics_sample_rate => 1 => 1
datadog.phpredis_analytics_enabled => Off => Off
datadog.phpredis_analytics_sample_rate => 1 => 1
datadog.predis_analytics_enabled => Off => Off
datadog.predis_analytics_sample_rate => 1 => 1
datadog.priority_sampling => On => On
datadog.propagation_style_extract => tracecontext,Datadog,B3,B3 single header => tracecontext,Datadog,B3,B3 single header
datadog.propagation_style_inject => tracecontext,Datadog => tracecontext,Datadog
datadog.psr18_analytics_enabled => Off => Off
datadog.psr18_analytics_sample_rate => 1 => 1
datadog.roadrunner_analytics_enabled => Off => Off
datadog.roadrunner_analytics_sample_rate => 1 => 1
datadog.sampling_rate => 1 => 1
datadog.service => no value => no value
datadog.service_mapping => no value => no value
datadog.service_name => no value => no value
datadog.slim_analytics_enabled => Off => Off
datadog.slim_analytics_sample_rate => 1 => 1
datadog.span_sampling_rules => [] => []
datadog.span_sampling_rules_file => no value => no value
datadog.sqlsrv_analytics_enabled => Off => Off
datadog.sqlsrv_analytics_sample_rate => 1 => 1
datadog.symfony_analytics_enabled => Off => Off
datadog.symfony_analytics_sample_rate => 1 => 1
datadog.tags => no value => no value
datadog.trace.128_bit_traceid_generation_enabled => Off => Off
datadog.trace.128_bit_traceid_logging_enabled => Off => Off
datadog.trace.agent_attempt_retry_time_msec => 5000 => 5000
datadog.trace.agent_connect_timeout => 100 => 100
datadog.trace.agent_debug_verbose_curl => Off => Off
datadog.trace.agent_flush_after_n_requests => 10 => 10
datadog.trace.agent_flush_interval => 5000 => 5000
datadog.trace.agent_max_consecutive_failures => 3 => 3
datadog.trace.agent_max_payload_size => 52428800 => 52428800
datadog.trace.agent_port => 0 => 0
datadog.trace.agent_stack_backlog => 12 => 12
datadog.trace.agent_stack_initial_size => 131072 => 131072
datadog.trace.agent_timeout => 500 => 500
datadog.trace.agent_url => no value => no value
datadog.trace.amqp_analytics_enabled => Off => Off
datadog.trace.amqp_analytics_sample_rate => 1 => 1
datadog.trace.amqp_enabled => On => On
datadog.trace.analytics_enabled => Off => Off
datadog.trace.append_trace_ids_to_logs => Off => Off
datadog.trace.auto_flush_enabled => Off => Off
datadog.trace.beta_high_memory_pressure_percent => 80 => 80
datadog.trace.bgs_connect_timeout => 2000 => 2000
datadog.trace.bgs_timeout => 5000 => 5000
datadog.trace.cakephp_analytics_enabled => Off => Off
datadog.trace.cakephp_analytics_sample_rate => 1 => 1
datadog.trace.cakephp_enabled => On => On
datadog.trace.cli_enabled => Off => Off
datadog.trace.client_ip_enabled => Off => Off
datadog.trace.client_ip_header => no value => no value
datadog.trace.codeigniter_analytics_enabled => Off => Off
datadog.trace.codeigniter_analytics_sample_rate => 1 => 1
datadog.trace.codeigniter_enabled => On => On
datadog.trace.curl_analytics_enabled => Off => Off
datadog.trace.curl_analytics_sample_rate => 1 => 1
datadog.trace.curl_enabled => On => On
datadog.trace.db_client_split_by_instance => Off => Off
datadog.trace.debug => Off => Off
datadog.trace.debug_curl_output => Off => Off
datadog.trace.debug_prng_seed => -1 => -1
datadog.trace.elasticsearch_analytics_enabled => Off => Off
datadog.trace.elasticsearch_analytics_sample_rate => 1 => 1
datadog.trace.elasticsearch_enabled => On => On
datadog.trace.eloquent_analytics_enabled => Off => Off
datadog.trace.eloquent_analytics_sample_rate => 1 => 1
datadog.trace.eloquent_enabled => On => On
datadog.trace.enabled => Off => Off
datadog.trace.flush_collect_cycles => Off => Off
datadog.trace.forked_process => On => On
datadog.trace.generate_root_span => On => On
datadog.trace.global_tags => no value => no value
datadog.trace.guzzle_analytics_enabled => Off => Off
datadog.trace.guzzle_analytics_sample_rate => 1 => 1
datadog.trace.guzzle_enabled => On => On
datadog.trace.header_tags => no value => no value
datadog.trace.health_metrics_enabled => Off => Off
datadog.trace.health_metrics_heartbeat_sample_rate => 0.001 => 0.001
datadog.trace.hook_limit => 100 => 100
datadog.trace.http_client_split_by_domain => Off => Off
datadog.trace.http_post_data_param_allowed => no value => no value
datadog.trace.http_url_query_param_allowed => * => *
datadog.trace.laminas_analytics_enabled => Off => Off
datadog.trace.laminas_analytics_sample_rate => 1 => 1
datadog.trace.laminas_enabled => On => On
datadog.trace.laravel_analytics_enabled => Off => Off
datadog.trace.laravel_analytics_sample_rate => 1 => 1
datadog.trace.laravel_enabled => On => On
datadog.trace.laravelqueue_analytics_enabled => Off => Off
datadog.trace.laravelqueue_analytics_sample_rate => 1 => 1
datadog.trace.laravelqueue_enabled => On => On
datadog.trace.logs_analytics_enabled => Off => Off
datadog.trace.logs_analytics_sample_rate => 1 => 1
datadog.trace.logs_enabled => On => On
datadog.trace.lumen_analytics_enabled => Off => Off
datadog.trace.lumen_analytics_sample_rate => 1 => 1
datadog.trace.lumen_enabled => On => On
datadog.trace.measure_compile_time => On => On
datadog.trace.memcache_analytics_enabled => Off => Off
datadog.trace.memcache_analytics_sample_rate => 1 => 1
datadog.trace.memcache_enabled => On => On
datadog.trace.memcached_analytics_enabled => Off => Off
datadog.trace.memcached_analytics_sample_rate => 1 => 1
datadog.trace.memcached_enabled => On => On
datadog.trace.memory_limit => no value => no value
datadog.trace.mongo_analytics_enabled => Off => Off
datadog.trace.mongo_analytics_sample_rate => 1 => 1
datadog.trace.mongo_enabled => On => On
datadog.trace.mongodb_analytics_enabled => Off => Off
datadog.trace.mongodb_analytics_sample_rate => 1 => 1
datadog.trace.mongodb_enabled => On => On
datadog.trace.mysqli_analytics_enabled => Off => Off
datadog.trace.mysqli_analytics_sample_rate => 1 => 1
datadog.trace.mysqli_enabled => On => On
datadog.trace.nette_analytics_enabled => Off => Off
datadog.trace.nette_analytics_sample_rate => 1 => 1
datadog.trace.nette_enabled => On => On
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,} => (?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,}
datadog.trace.pcntl_analytics_enabled => Off => Off
datadog.trace.pcntl_analytics_sample_rate => 1 => 1
datadog.trace.pcntl_enabled => On => On
datadog.trace.pdo_analytics_enabled => Off => Off
datadog.trace.pdo_analytics_sample_rate => 1 => 1
datadog.trace.pdo_enabled => On => On
datadog.trace.peer_service_defaults_enabled => Off => Off
datadog.trace.peer_service_mapping => no value => no value
datadog.trace.phpredis_analytics_enabled => Off => Off
datadog.trace.phpredis_analytics_sample_rate => 1 => 1
datadog.trace.phpredis_enabled => On => On
datadog.trace.predis_analytics_enabled => Off => Off
datadog.trace.predis_analytics_sample_rate => 1 => 1
datadog.trace.predis_enabled => On => On
datadog.trace.propagate_service => Off => Off
datadog.trace.propagate_user_id_default => Off => Off
datadog.trace.propagation_style => tracecontext,Datadog => tracecontext,Datadog
datadog.trace.propagation_style_extract => tracecontext,Datadog,B3,B3 single header => tracecontext,Datadog,B3,B3 single header
datadog.trace.propagation_style_inject => tracecontext,Datadog => tracecontext,Datadog
datadog.trace.psr18_analytics_enabled => Off => Off
datadog.trace.psr18_analytics_sample_rate => 1 => 1
datadog.trace.psr18_enabled => On => On
datadog.trace.rate_limit => 0 => 0
datadog.trace.redis_client_split_by_host => Off => Off
datadog.trace.remove_autoinstrumentation_orphans => Off => Off
datadog.trace.remove_integration_service_names_enabled => Off => Off
datadog.trace.remove_root_span_laravel_queue => On => On
datadog.trace.report_hostname => Off => Off
datadog.trace.request_init_hook => /opt/datadog/dd-library/0.90.0/dd-trace-sources/bridge/dd_wrap_autoloader.php => /opt/datadog/dd-library/0.90.0/dd-trace-sources/bridge/dd_wrap_autoloader.php
datadog.trace.resource_uri_fragment_regex => no value => no value
datadog.trace.resource_uri_mapping_incoming => no value => no value
datadog.trace.resource_uri_mapping_outgoing => no value => no value
datadog.trace.resource_uri_query_param_allowed => no value => no value
datadog.trace.retain_thread_capabilities => Off => Off
datadog.trace.roadrunner_analytics_enabled => Off => Off
datadog.trace.roadrunner_analytics_sample_rate => 1 => 1
datadog.trace.roadrunner_enabled => On => On
datadog.trace.sample_rate => 1 => 1
datadog.trace.sampling_rules => [] => []
datadog.trace.shutdown_timeout => 5000 => 5000
datadog.trace.slim_analytics_enabled => Off => Off
datadog.trace.slim_analytics_sample_rate => 1 => 1
datadog.trace.slim_enabled => On => On
datadog.trace.spans_limit => 1000 => 1000
datadog.trace.sqlsrv_analytics_enabled => Off => Off
datadog.trace.sqlsrv_analytics_sample_rate => 1 => 1
datadog.trace.sqlsrv_enabled => On => On
datadog.trace.startup_logs => On => On
datadog.trace.symfony_analytics_enabled => Off => Off
datadog.trace.symfony_analytics_sample_rate => 1 => 1
datadog.trace.symfony_enabled => On => On
datadog.trace.traced_internal_functions => no value => no value
datadog.trace.url_as_resource_names_enabled => On => On
datadog.trace.warn_legacy_dd_trace => On => On
datadog.trace.web_analytics_enabled => Off => Off
datadog.trace.web_analytics_sample_rate => 1 => 1
datadog.trace.web_enabled => On => On
datadog.trace.wordpress_analytics_enabled => Off => Off
datadog.trace.wordpress_analytics_sample_rate => 1 => 1
datadog.trace.wordpress_enabled => On => On
datadog.trace.x_datadog_tags_max_length => 512 => 512
datadog.trace.yii_analytics_enabled => Off => Off
datadog.trace.yii_analytics_sample_rate => 1 => 1
datadog.trace.yii_enabled => On => On
datadog.trace.zendframework_analytics_enabled => Off => Off
datadog.trace.zendframework_analytics_sample_rate => 1 => 1
datadog.trace.zendframework_enabled => On => On
datadog.version => no value => no value
datadog.web_analytics_enabled => Off => Off
datadog.web_analytics_sample_rate => 1 => 1
datadog.wordpress_analytics_enabled => Off => Off
datadog.wordpress_analytics_sample_rate => 1 => 1
datadog.yii_analytics_enabled => Off => Off
datadog.yii_analytics_sample_rate => 1 => 1
datadog.zendframework_analytics_enabled => Off => Off
datadog.zendframework_analytics_sample_rate => 1 => 1
ddtrace.cgroup_file => /proc/self/cgroup => /proc/self/cgroup
ddtrace.disable => Off => Off
ddtrace.request_init_hook => /opt/datadog/dd-library/0.90.0/dd-trace-sources/bridge/dd_wrap_autoloader.php => /opt/datadog/dd-library/0.90.0/dd-trace-sources/bridge/dd_wrap_autoloader.php
I have the same environment settings as @REBELinBLUE, and this issue is occurring for us, too:
PHP 8.1.21 (cli) (built: Jul 28 2023 14:01:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.21, Copyright (c) Zend Technologies
with Zend OPcache v8.1.21, Copyright (c), by Zend Technologies
with ddtrace v0.90.0, Copyright Datadog, by Datadog
with ddappsec v0.10.0, Copyright Datadog, by Datadog
Our logs are inundated with the following messages:
NOTICE: PHP message: PHP Warning: Unknown: [ddappsec] Expecting an object from \ddtrace\root_span in Unknown on line 0
~Update:~
~Setting DD_APPSEC_ENABLED=false
as an environment variable or datadog.appsec.enabled=Off
in 98-ddtrace.ini
(or both) does not appear to have any effect. We're still seeing these notices in the logs, which is dramatically increasing our Datadog costs.~
Update Again:
I was looking at the wrong logs. 🤦🏻♂️
Setting the environment variable DD_APPSEC_ENABLED=false
does, in fact, solve the issue. Our logs are no longer being flooded with warnings.
This should be fixed from 0.90.0
, if you find that to not be the case in your specific setup, feel free to open a new issue and we'll investigate further.
Bug description
We install with
php datadog-setup.php --php-bin=all
Starting PHP-FPM we get these log linesPHP version
PHP 7.4.21 (cli) (built: Jul 22 2021 03:08:33) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies with ddtrace v0.86.3, Copyright Datadog, by Datadog with ddappsec v0.7.2, Copyright Datadog, by Datadog
Tracer version
0.86.3
Installed extensions
OS info
Diagnostics and configuration
Output of phpinfo() (ddtrace >= 0.47.0)
Upgrading info
0.46.0