diff options
-rw-r--r-- | PHPINFO | 150 | ||||
-rw-r--r-- | REFLECTION | 1018 | ||||
-rwxr-xr-x | makedeps.sh | 21 | ||||
-rw-r--r-- | php-pecl-datadog-trace.spec | 233 |
4 files changed, 1220 insertions, 202 deletions
@@ -7,22 +7,64 @@ For help, check out the documentation at https://docs.datadoghq.com/tracing/lang (c) Datadog 2020 Datadog tracing support => disabled -Version => 0.79.0 -DATADOG TRACER CONFIGURATION => {"date":"2022-09-09T14:25:01Z","os_name":"Linux builder.remirepo.net 5.19.6-100.fc35.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 31 18:58:02 UTC 2022 x86_64","os_version":"5.19.6-100.fc35.x86_64","version":"0.79.0","lang":"php","lang_version":"8.0.23","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":"\/usr\/share\/pear\/datadog_trace\/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 0 ms: Connexion refus\u00e9e"} +Version => 0.98.1 +DATADOG TRACER CONFIGURATION => { + "date": "2024-03-05T06:41:45Z", + "os_name": "Linux builder.remirepo.net 6.7.6-200.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Feb 23 18:27:29 UTC 2024 x86_64", + "os_version": "6.7.6-200.fc39.x86_64", + "version": "0.98.1", + "lang": "php", + "lang_version": "8.2.16", + "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": "\/usr\/share\/pear\/datadog_trace\/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 0 ms: Couldn't connect to server" +} Directive => Local Value => Master Value -ddtrace.disable => Off => Off +ddtrace.disable => 0 => 0 ddtrace.cgroup_file => /proc/self/cgroup => /proc/self/cgroup +datadog.trace.sidecar_trace_sender => Off => Off datadog.trace.request_init_hook => /usr/share/pear/datadog_trace/bridge/dd_wrap_autoloader.php => /usr/share/pear/datadog_trace/bridge/dd_wrap_autoloader.php ddtrace.request_init_hook => /usr/share/pear/datadog_trace/bridge/dd_wrap_autoloader.php => /usr/share/pear/datadog_trace/bridge/dd_wrap_autoloader.php datadog.trace.agent_url => no value => no value datadog.agent_host => no value => no value datadog.dogstatsd_url => no value => no value +datadog.api_key => no value => no value datadog.distributed_tracing => On => On datadog.dogstatsd_port => 8125 => 8125 datadog.env => no value => no value datadog.autofinish_spans => Off => Off datadog.trace.url_as_resource_names_enabled => On => On +datadog.http_server_route_based_naming => On => On datadog.integrations_disabled => default => default datadog.priority_sampling => On => On datadog.service => no value => no value @@ -30,13 +72,15 @@ datadog.service_name => no value => no value datadog.service_mapping => no value => no value datadog.tags => no value => no value datadog.trace.global_tags => no value => no value -datadog.trace.agent_port => 8126 => 8126 +datadog.trace.agent_port => 0 => 0 datadog.trace.analytics_enabled => Off => Off +datadog.trace.append_trace_ids_to_logs => Off => Off datadog.trace.auto_flush_enabled => Off => Off datadog.trace.cli_enabled => Off => Off datadog.trace.measure_compile_time => On => On datadog.trace.debug => Off => Off datadog.trace.enabled => Off => On +datadog.instrumentation_telemetry_enabled => On => On datadog.trace.health_metrics_enabled => Off => Off datadog.trace.health_metrics_heartbeat_sample_rate => 0.001 => 0.001 datadog.trace.db_client_split_by_instance => Off => Off @@ -44,21 +88,34 @@ datadog.trace.http_client_split_by_domain => Off => Off datadog.trace.redis_client_split_by_host => Off => Off datadog.trace.memory_limit => no value => no value datadog.trace.report_hostname => Off => Off +datadog.trace.flush_collect_cycles => Off => Off +datadog.trace.laravel_queue_distributed_tracing => On => On +datadog.trace.remove_root_span_laravel_queue => On => On +datadog.trace.remove_autoinstrumentation_orphans => Off => Off 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.http_url_query_param_allowed => * => * -datadog.trace.sample_rate => 1 => 1 -datadog.sampling_rate => 1 => 1 +datadog.trace.http_post_data_param_allowed => no value => no value +datadog.trace.rate_limit => 0 => 0 +datadog.trace.sample_rate => -1 => -1 +datadog.sampling_rate => -1 => -1 datadog.trace.sampling_rules => [] => [] +datadog.trace.sampling_rules_format => regex => regex datadog.span_sampling_rules => [] => [] datadog.span_sampling_rules_file => no value => no value datadog.trace.header_tags => no value => no value datadog.trace.x_datadog_tags_max_length => 512 => 512 +datadog.trace.peer_service_mapping => no value => no value +datadog.trace.peer_service_defaults_enabled => Off => Off +datadog.trace.remove_integration_service_names_enabled => Off => Off datadog.trace.propagate_service => Off => Off -datadog.propagation_style_extract => Datadog,B3,B3 single header => Datadog,B3,B3 single header -datadog.propagation_style_inject => Datadog => Datadog +datadog.trace.propagation_style_extract => datadog,tracecontext,B3,B3 single header => datadog,tracecontext,B3,B3 single header +datadog.propagation_style_extract => datadog,tracecontext,B3,B3 single header => datadog,tracecontext,B3,B3 single header +datadog.trace.propagation_style_inject => datadog,tracecontext => datadog,tracecontext +datadog.propagation_style_inject => datadog,tracecontext => datadog,tracecontext +datadog.trace.propagation_style => datadog,tracecontext => datadog,tracecontext datadog.trace.traced_internal_functions => no value => no value datadog.trace.agent_timeout => 500 => 500 datadog.trace.agent_connect_timeout => 100 => 100 @@ -66,6 +123,8 @@ datadog.trace.debug_prng_seed => -1 => -1 datadog.log_backtrace => Off => Off datadog.trace.generate_root_span => On => On datadog.trace.spans_limit => 1000 => 1000 +datadog.trace.128_bit_traceid_generation_enabled => On => On +datadog.trace.128_bit_traceid_logging_enabled => Off => Off datadog.trace.agent_max_consecutive_failures => 3 => 3 datadog.trace.agent_attempt_retry_time_msec => 5000 => 5000 datadog.trace.bgs_connect_timeout => 2000 => 2000 @@ -74,16 +133,36 @@ datadog.trace.agent_flush_interval => 5000 => 5000 datadog.trace.agent_flush_after_n_requests => 10 => 10 datadog.trace.shutdown_timeout => 5000 => 5000 datadog.trace.startup_logs => On => On +datadog.trace.once_logs => On => On +datadog.trace.agent_retries => 0 => 0 datadog.trace.agent_debug_verbose_curl => Off => Off datadog.trace.debug_curl_output => Off => Off datadog.trace.beta_high_memory_pressure_percent => 80 => 80 +datadog.trace.agentless => Off => Off datadog.trace.warn_legacy_dd_trace => On => On datadog.trace.retain_thread_capabilities => Off => Off datadog.version => no value => no value -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.client_ip_header_disabled => Off => Off +datadog.trace.obfuscation_query_string_regexp => (?i)(?:(?:"|%22)?)(?:(?:old[-_]?|new[-_]?)?p(?:ass)?w(?:or)?d(?:1|2)?|pass(?:[-_]?phrase)?|secret|(?:api[-_]?|private[-_]?|public[-_]?|access[-_]?|secret[-_]?|app(?:lication)?[-_]?)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(?:-{5})?(?:\n|%0A)?|(?:ssh-(?:rsa|dss)|ecdsa-[a-z0-9]+-[a-z0-9]+)(?:\s|%20|%09)+(?:[a-z0-9/.+]|%2F|%5C|%2B){100,}(?:=|%3D)*(?:(?:\s|%20|%09)+[a-z0-9._-]+)?) => (?i)(?:(?:"|%22)?)(?:(?:old[-_]?|new[-_]?)?p(?:ass)?w(?:or)?d(?:1|2)?|pass(?:[-_]?phrase)?|secret|(?:api[-_]?|private[-_]?|public[-_]?|access[-_]?|secret[-_]?|app(?:lication)?[-_]?)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(?:-{5})?(?:\n|%0A)?|(?:ssh-(?:rsa|dss)|ecdsa-[a-z0-9]+-[a-z0-9]+)(?:\s|%20|%09)+(?:[a-z0-9/.+]|%2F|%5C|%2B){100,}(?:=|%3D)*(?:(?:\s|%20|%09)+[a-z0-9._-]+)?) +datadog.trace.client_ip_enabled => Off => Off datadog.trace.client_ip_header => no value => no value datadog.trace.forked_process => On => On +datadog.trace.hook_limit => 100 => 100 +datadog.trace.agent_max_payload_size => 52428800 => 52428800 +datadog.trace.agent_stack_initial_size => 131072 => 131072 +datadog.trace.agent_stack_backlog => 12 => 12 +datadog.trace.propagate_user_id_default => Off => Off +datadog.dbm_propagation_mode => disabled => disabled +datadog.trace.wordpress_additional_actions => no value => no value +datadog.trace.wordpress_callbacks => Off => Off +datadog.trace.wordpress_enhanced_integration => Off => Off +datadog.trace.otel_enabled => Off => Off +datadog.trace.log_file => no value => no value +datadog.trace.log_level => error => error +datadog.trace.amqp_enabled => On => On +datadog.trace.amqp_analytics_enabled => Off => Off +datadog.amqp_analytics_enabled => Off => Off +datadog.trace.amqp_analytics_sample_rate => 1 => 1 +datadog.amqp_analytics_sample_rate => 1 => 1 datadog.trace.cakephp_enabled => On => On datadog.trace.cakephp_analytics_enabled => Off => Off datadog.cakephp_analytics_enabled => Off => Off @@ -94,11 +173,21 @@ datadog.trace.codeigniter_analytics_enabled => Off => Off datadog.codeigniter_analytics_enabled => Off => Off datadog.trace.codeigniter_analytics_sample_rate => 1 => 1 datadog.codeigniter_analytics_sample_rate => 1 => 1 +datadog.trace.exec_enabled => On => On +datadog.trace.exec_analytics_enabled => Off => Off +datadog.exec_analytics_enabled => Off => Off +datadog.trace.exec_analytics_sample_rate => 1 => 1 +datadog.exec_analytics_sample_rate => 1 => 1 datadog.trace.curl_enabled => On => On datadog.trace.curl_analytics_enabled => Off => Off datadog.curl_analytics_enabled => Off => Off datadog.trace.curl_analytics_sample_rate => 1 => 1 datadog.curl_analytics_sample_rate => 1 => 1 +datadog.trace.drupal_enabled => On => On +datadog.trace.drupal_analytics_enabled => Off => Off +datadog.drupal_analytics_enabled => Off => Off +datadog.trace.drupal_analytics_sample_rate => 1 => 1 +datadog.drupal_analytics_sample_rate => 1 => 1 datadog.trace.elasticsearch_enabled => On => On datadog.trace.elasticsearch_analytics_enabled => Off => Off datadog.elasticsearch_analytics_enabled => Off => Off @@ -114,16 +203,42 @@ datadog.trace.guzzle_analytics_enabled => Off => Off datadog.guzzle_analytics_enabled => Off => Off datadog.trace.guzzle_analytics_sample_rate => 1 => 1 datadog.guzzle_analytics_sample_rate => 1 => 1 +datadog.trace.laminas_enabled => On => On +datadog.trace.laminas_analytics_enabled => Off => Off +datadog.laminas_analytics_enabled => Off => Off +datadog.trace.laminas_analytics_sample_rate => 1 => 1 +datadog.laminas_analytics_sample_rate => 1 => 1 datadog.trace.laravel_enabled => On => On datadog.trace.laravel_analytics_enabled => Off => Off datadog.laravel_analytics_enabled => Off => Off datadog.trace.laravel_analytics_sample_rate => 1 => 1 datadog.laravel_analytics_sample_rate => 1 => 1 +datadog.trace.laravelqueue_enabled => On => On +datadog.trace.laravelqueue_analytics_enabled => Off => Off +datadog.laravelqueue_analytics_enabled => Off => Off +datadog.trace.laravelqueue_analytics_sample_rate => 1 => 1 +datadog.laravelqueue_analytics_sample_rate => 1 => 1 +datadog.trace.logs_enabled => Off => Off +datadog.logs_injection => Off => Off +datadog.trace.logs_analytics_enabled => Off => Off +datadog.logs_analytics_enabled => Off => Off +datadog.trace.logs_analytics_sample_rate => 1 => 1 +datadog.logs_analytics_sample_rate => 1 => 1 datadog.trace.lumen_enabled => On => On datadog.trace.lumen_analytics_enabled => Off => Off datadog.lumen_analytics_enabled => Off => Off datadog.trace.lumen_analytics_sample_rate => 1 => 1 datadog.lumen_analytics_sample_rate => 1 => 1 +datadog.trace.magento_enabled => On => On +datadog.trace.magento_analytics_enabled => Off => Off +datadog.magento_analytics_enabled => Off => Off +datadog.trace.magento_analytics_sample_rate => 1 => 1 +datadog.magento_analytics_sample_rate => 1 => 1 +datadog.trace.memcache_enabled => On => On +datadog.trace.memcache_analytics_enabled => Off => Off +datadog.memcache_analytics_enabled => Off => Off +datadog.trace.memcache_analytics_sample_rate => 1 => 1 +datadog.memcache_analytics_sample_rate => 1 => 1 datadog.trace.memcached_enabled => On => On datadog.trace.memcached_analytics_enabled => Off => Off datadog.memcached_analytics_enabled => Off => Off @@ -169,6 +284,21 @@ datadog.trace.predis_analytics_enabled => Off => Off datadog.predis_analytics_enabled => Off => Off datadog.trace.predis_analytics_sample_rate => 1 => 1 datadog.predis_analytics_sample_rate => 1 => 1 +datadog.trace.psr18_enabled => On => On +datadog.trace.psr18_analytics_enabled => Off => Off +datadog.psr18_analytics_enabled => Off => Off +datadog.trace.psr18_analytics_sample_rate => 1 => 1 +datadog.psr18_analytics_sample_rate => 1 => 1 +datadog.trace.roadrunner_enabled => On => On +datadog.trace.roadrunner_analytics_enabled => Off => Off +datadog.roadrunner_analytics_enabled => Off => Off +datadog.trace.roadrunner_analytics_sample_rate => 1 => 1 +datadog.roadrunner_analytics_sample_rate => 1 => 1 +datadog.trace.sqlsrv_enabled => On => On +datadog.trace.sqlsrv_analytics_enabled => Off => Off +datadog.sqlsrv_analytics_enabled => Off => Off +datadog.trace.sqlsrv_analytics_sample_rate => 1 => 1 +datadog.sqlsrv_analytics_sample_rate => 1 => 1 datadog.trace.slim_enabled => On => On datadog.trace.slim_analytics_enabled => Off => Off datadog.slim_analytics_enabled => Off => Off @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { +Extension [ <persistent> extension #96 ddtrace version 0.98.1 ] { - Dependencies { Dependency [ json (Required) ] @@ -12,6 +12,9 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ ddtrace.cgroup_file <SYSTEM> ] Current = '/proc/self/cgroup' } + Entry [ datadog.trace.sidecar_trace_sender <SYSTEM> ] + Current = 'false' + } Entry [ datadog.trace.request_init_hook <SYSTEM> ] Current = '/usr/share/pear/datadog_trace/bridge/dd_wrap_autoloader.php' } @@ -27,6 +30,9 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.dogstatsd_url <ALL> ] Current = '' } + Entry [ datadog.api_key <SYSTEM> ] + Current = '' + } Entry [ datadog.distributed_tracing <ALL> ] Current = 'true' } @@ -42,6 +48,9 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.url_as_resource_names_enabled <ALL> ] Current = 'true' } + Entry [ datadog.http_server_route_based_naming <ALL> ] + Current = 'true' + } Entry [ datadog.integrations_disabled <ALL> ] Current = 'default' } @@ -64,11 +73,14 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Current = '' } Entry [ datadog.trace.agent_port <SYSTEM> ] - Current = '8126' + Current = '0' } Entry [ datadog.trace.analytics_enabled <ALL> ] Current = 'false' } + Entry [ datadog.trace.append_trace_ids_to_logs <ALL> ] + Current = 'false' + } Entry [ datadog.trace.auto_flush_enabled <ALL> ] Current = 'false' } @@ -85,6 +97,9 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Current = '0' Default = 'true' } + Entry [ datadog.instrumentation_telemetry_enabled <SYSTEM> ] + Current = 'true' + } Entry [ datadog.trace.health_metrics_enabled <SYSTEM> ] Current = 'false' } @@ -106,6 +121,18 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.report_hostname <ALL> ] Current = 'false' } + Entry [ datadog.trace.flush_collect_cycles <ALL> ] + Current = 'false' + } + Entry [ datadog.trace.laravel_queue_distributed_tracing <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.remove_root_span_laravel_queue <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.remove_autoinstrumentation_orphans <ALL> ] + Current = 'false' + } Entry [ datadog.trace.resource_uri_fragment_regex <ALL> ] Current = '' } @@ -121,15 +148,24 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.http_url_query_param_allowed <ALL> ] Current = '*' } + Entry [ datadog.trace.http_post_data_param_allowed <ALL> ] + Current = '' + } + Entry [ datadog.trace.rate_limit <SYSTEM> ] + Current = '0' + } Entry [ datadog.trace.sample_rate <ALL> ] - Current = '1' + Current = '-1' } Entry [ datadog.sampling_rate <ALL> ] - Current = '1' + Current = '-1' } Entry [ datadog.trace.sampling_rules <ALL> ] Current = '[]' } + Entry [ datadog.trace.sampling_rules_format <ALL> ] + Current = 'regex' + } Entry [ datadog.span_sampling_rules <ALL> ] Current = '[]' } @@ -142,14 +178,32 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.x_datadog_tags_max_length <ALL> ] Current = '512' } + Entry [ datadog.trace.peer_service_mapping <ALL> ] + Current = '' + } + Entry [ datadog.trace.peer_service_defaults_enabled <ALL> ] + Current = 'false' + } + Entry [ datadog.trace.remove_integration_service_names_enabled <ALL> ] + Current = 'false' + } Entry [ datadog.trace.propagate_service <ALL> ] Current = 'false' } + Entry [ datadog.trace.propagation_style_extract <ALL> ] + Current = 'datadog,tracecontext,B3,B3 single header' + } Entry [ datadog.propagation_style_extract <ALL> ] - Current = 'Datadog,B3,B3 single header' + Current = 'datadog,tracecontext,B3,B3 single header' + } + Entry [ datadog.trace.propagation_style_inject <ALL> ] + Current = 'datadog,tracecontext' } Entry [ datadog.propagation_style_inject <ALL> ] - Current = 'Datadog' + Current = 'datadog,tracecontext' + } + Entry [ datadog.trace.propagation_style <ALL> ] + Current = 'datadog,tracecontext' } Entry [ datadog.trace.traced_internal_functions <ALL> ] Current = '' @@ -172,6 +226,12 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.spans_limit <ALL> ] Current = '1000' } + Entry [ datadog.trace.128_bit_traceid_generation_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.128_bit_traceid_logging_enabled <ALL> ] + Current = 'false' + } Entry [ datadog.trace.agent_max_consecutive_failures <ALL> ] Current = '3' } @@ -196,6 +256,12 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.startup_logs <ALL> ] Current = 'true' } + Entry [ datadog.trace.once_logs <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.agent_retries <SYSTEM> ] + Current = '0' + } Entry [ datadog.trace.agent_debug_verbose_curl <SYSTEM> ] Current = 'false' } @@ -205,6 +271,9 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.beta_high_memory_pressure_percent <SYSTEM> ] Current = '80' } + Entry [ datadog.trace.agentless <SYSTEM> ] + Current = 'false' + } Entry [ datadog.trace.warn_legacy_dd_trace <ALL> ] Current = 'true' } @@ -215,9 +284,9 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Current = '' } Entry [ datadog.trace.obfuscation_query_string_regexp <ALL> ] - Current = '(?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,}' + Current = '(?i)(?:(?:"|%22)?)(?:(?:old[-_]?|new[-_]?)?p(?:ass)?w(?:or)?d(?:1|2)?|pass(?:[-_]?phrase)?|secret|(?:api[-_]?|private[-_]?|public[-_]?|access[-_]?|secret[-_]?|app(?:lication)?[-_]?)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(?:-{5})?(?:\n|%0A)?|(?:ssh-(?:rsa|dss)|ecdsa-[a-z0-9]+-[a-z0-9]+)(?:\s|%20|%09)+(?:[a-z0-9/.+]|%2F|%5C|%2B){100,}(?:=|%3D)*(?:(?:\s|%20|%09)+[a-z0-9._-]+)?)' } - Entry [ datadog.trace.client_ip_header_disabled <ALL> ] + Entry [ datadog.trace.client_ip_enabled <ALL> ] Current = 'false' } Entry [ datadog.trace.client_ip_header <ALL> ] @@ -226,6 +295,57 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.trace.forked_process <ALL> ] Current = 'true' } + Entry [ datadog.trace.hook_limit <ALL> ] + Current = '100' + } + Entry [ datadog.trace.agent_max_payload_size <SYSTEM> ] + Current = '52428800' + } + Entry [ datadog.trace.agent_stack_initial_size <SYSTEM> ] + Current = '131072' + } + Entry [ datadog.trace.agent_stack_backlog <SYSTEM> ] + Current = '12' + } + Entry [ datadog.trace.propagate_user_id_default <ALL> ] + Current = 'false' + } + Entry [ datadog.dbm_propagation_mode <ALL> ] + Current = 'disabled' + } + Entry [ datadog.trace.wordpress_additional_actions <ALL> ] + Current = '' + } + Entry [ datadog.trace.wordpress_callbacks <ALL> ] + Current = 'false' + } + Entry [ datadog.trace.wordpress_enhanced_integration <ALL> ] + Current = 'false' + } + Entry [ datadog.trace.otel_enabled <ALL> ] + Current = 'false' + } + Entry [ datadog.trace.log_file <SYSTEM> ] + Current = '' + } + Entry [ datadog.trace.log_level <ALL> ] + Current = 'error' + } + Entry [ datadog.trace.amqp_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.amqp_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.amqp_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.amqp_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.amqp_analytics_sample_rate <ALL> ] + Current = '1' + } Entry [ datadog.trace.cakephp_enabled <ALL> ] Current = 'true' } @@ -256,6 +376,21 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.codeigniter_analytics_sample_rate <ALL> ] Current = '1' } + Entry [ datadog.trace.exec_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.exec_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.exec_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.exec_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.exec_analytics_sample_rate <ALL> ] + Current = '1' + } Entry [ datadog.trace.curl_enabled <ALL> ] Current = 'true' } @@ -271,6 +406,21 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.curl_analytics_sample_rate <ALL> ] Current = '1' } + Entry [ datadog.trace.drupal_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.drupal_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.drupal_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.drupal_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.drupal_analytics_sample_rate <ALL> ] + Current = '1' + } Entry [ datadog.trace.elasticsearch_enabled <ALL> ] Current = 'true' } @@ -316,6 +466,21 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.guzzle_analytics_sample_rate <ALL> ] Current = '1' } + Entry [ datadog.trace.laminas_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.laminas_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.laminas_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.laminas_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.laminas_analytics_sample_rate <ALL> ] + Current = '1' + } Entry [ datadog.trace.laravel_enabled <ALL> ] Current = 'true' } @@ -331,6 +496,39 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.laravel_analytics_sample_rate <ALL> ] Current = '1' } + Entry [ datadog.trace.laravelqueue_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.laravelqueue_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.laravelqueue_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.laravelqueue_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.laravelqueue_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.trace.logs_enabled <ALL> ] + Current = 'false' + } + Entry [ datadog.logs_injection <ALL> ] + Current = 'false' + } + Entry [ datadog.trace.logs_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.logs_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.logs_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.logs_analytics_sample_rate <ALL> ] + Current = '1' + } Entry [ datadog.trace.lumen_enabled <ALL> ] Current = 'true' } @@ -346,6 +544,36 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.lumen_analytics_sample_rate <ALL> ] Current = '1' } + Entry [ datadog.trace.magento_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.magento_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.magento_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.magento_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.magento_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.trace.memcache_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.memcache_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.memcache_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.memcache_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.memcache_analytics_sample_rate <ALL> ] + Current = '1' + } Entry [ datadog.trace.memcached_enabled <ALL> ] Current = 'true' } @@ -481,6 +709,51 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { Entry [ datadog.predis_analytics_sample_rate <ALL> ] Current = '1' } + Entry [ datadog.trace.psr18_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.psr18_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.psr18_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.psr18_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.psr18_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.trace.roadrunner_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.roadrunner_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.roadrunner_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.roadrunner_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.roadrunner_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.trace.sqlsrv_enabled <ALL> ] + Current = 'true' + } + Entry [ datadog.trace.sqlsrv_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.sqlsrv_analytics_enabled <ALL> ] + Current = '0' + } + Entry [ datadog.trace.sqlsrv_analytics_sample_rate <ALL> ] + Current = '1' + } + Entry [ datadog.sqlsrv_analytics_sample_rate <ALL> ] + Current = '1' + } Entry [ datadog.trace.slim_enabled <ALL> ] Current = 'true' } @@ -573,8 +846,13 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { } } - - Constants [7] { - Constant [ string DD_TRACE_VERSION ] { 0.79.0 } + - Constants [12] { + Constant [ string DDTrace\HOOK_ALL_FILES ] { } + Constant [ int DDTrace\HOOK_INSTANCE ] { 1 } + Constant [ int DDTrace\DBM_PROPAGATION_DISABLED ] { 0 } + Constant [ int DDTrace\DBM_PROPAGATION_SERVICE ] { 1 } + Constant [ int DDTrace\DBM_PROPAGATION_FULL ] { 2 } + Constant [ string DD_TRACE_VERSION ] { 0.98.1 } Constant [ int DD_TRACE_PRIORITY_SAMPLING_AUTO_KEEP ] { 1 } Constant [ int DD_TRACE_PRIORITY_SAMPLING_AUTO_REJECT ] { 0 } Constant [ int DD_TRACE_PRIORITY_SAMPLING_USER_KEEP ] { 2 } @@ -584,370 +862,550 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { } - Functions { - Function [ <internal:ddtrace> function dd_trace ] { + Function [ <internal:ddtrace> function DDTrace\trace_method ] { - Parameters [3] { - Parameter #0 [ <required> $class_or_function_name ] - Parameter #1 [ <required> $method_name_or_tracing_closure ] - Parameter #2 [ <optional> $tracing_closure = <default> ] + Parameter #0 [ <required> string $className ] + Parameter #1 [ <required> string $methodName ] + Parameter #2 [ <required> Closure|array|null $tracingClosureOrConfigArray ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_trace_buffer_span ] { + Function [ <internal:ddtrace> function DDTrace\trace_function ] { - - Parameters [1] { - Parameter #0 [ <required> $trace_array ] + - Parameters [2] { + Parameter #0 [ <required> string $functionName ] + Parameter #1 [ <required> Closure|array|null $tracingClosureOrConfigArray ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_trace_check_memory_under_limit ] { + Function [ <internal:ddtrace> function DDTrace\hook_function ] { - - Parameters [0] { + - Parameters [3] { + Parameter #0 [ <required> string $functionName ] + Parameter #1 [ <optional> Closure|array|null $prehookOrConfigArray = null ] + Parameter #2 [ <optional> ?Closure $posthook = null ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_trace_closed_spans_count ] { + Function [ <internal:ddtrace> function DDTrace\hook_method ] { - - Parameters [0] { + - Parameters [4] { + Parameter #0 [ <required> string $className ] + Parameter #1 [ <required> string $methodName ] + Parameter #2 [ <optional> Closure|array|null $prehookOrConfigArray = null ] + Parameter #3 [ <optional> ?Closure $posthook = null ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_trace_coms_trigger_writer_flush ] { + Function [ <internal:ddtrace> function DDTrace\add_global_tag ] { - - Parameters [0] { + - Parameters [2] { + Parameter #0 [ <required> string $key ] + Parameter #1 [ <required> string $value ] } + - Return [ void ] } - Function [ <internal:ddtrace> function dd_trace_dd_get_memory_limit ] { + Function [ <internal:ddtrace> function DDTrace\add_distributed_tag ] { - - Parameters [0] { + - Parameters [2] { + Parameter #0 [ <required> string $key ] + Parameter #1 [ <required> string $value ] } + - Return [ void ] } - Function [ <internal:ddtrace> function dd_trace_disable_in_request ] { + Function [ <internal:ddtrace> function DDTrace\set_user ] { - - Parameters [0] { + - Parameters [3] { + Parameter #0 [ <required> string $userId ] + Parameter #1 [ <optional> array $metadata = [] ] + Parameter #2 [ <optional> ?bool $propagate = null ] } + - Return [ void ] } - Function [ <internal:ddtrace> function dd_trace_env_config ] { + Function [ <internal:ddtrace> function DDTrace\close_spans_until ] { - Parameters [1] { - Parameter #0 [ <required> $env_name ] + Parameter #0 [ <required> ?DDTrace\SpanData $span ] } + - Return [ int|false ] } - Function [ <internal:ddtrace> function dd_trace_forward_call ] { + Function [ <internal:ddtrace> function DDTrace\active_span ] { - Parameters [0] { } + - Return [ ?DDTrace\SpanData ] } - Function [ <internal:ddtrace> function dd_trace_generate_id ] { + Function [ <internal:ddtrace> function DDTrace\root_span ] { + + - Parameters [0] { + } + - Return [ ?DDTrace\RootSpanData ] + } + Function [ <internal:ddtrace> function DDTrace\start_span ] { - Parameters [1] { - Parameter #0 [ <optional> $existing_id = <default> ] + Parameter #0 [ <optional> float $startTime = 0 ] } + - Return [ DDTrace\SpanData|false ] } - Function [ <internal:ddtrace> function dd_trace_internal_fn ] { + Function [ <internal:ddtrace> function DDTrace\close_span ] { + + - Parameters [1] { + Parameter #0 [ <optional> float $finishTime = 0 ] + } + - Return [ ?false ] + } + Function [ <internal:ddtrace> function DDTrace\update_span_duration ] { - Parameters [2] { - Parameter #0 [ <required> $function_name ] - Parameter #1 [ <optional> ...$vars ] + Parameter #0 [ <required> DDTrace\SpanData $span ] + Parameter #1 [ <optional> float $finishTime = 0 ] } + - Return [ null ] } - Function [ <internal:ddtrace> function dd_trace_noop ] { + Function [ <internal:ddtrace> function DDTrace\start_trace_span ] { + + - Parameters [1] { + Parameter #0 [ <optional> float $startTime = 0 ] + } + - Return [ DDTrace\SpanData ] + } + Function [ <internal:ddtrace> function DDTrace\active_stack ] { - Parameters [0] { } + - Return [ ?DDTrace\SpanStack ] } - Function [ <internal:ddtrace> function DDTrace\flush ] { + Function [ <internal:ddtrace> function DDTrace\create_stack ] { - Parameters [0] { } + - Return [ DDTrace\SpanStack ] } - Function [ <internal:ddtrace> function DDTrace\close_spans_until ] { + Function [ <internal:ddtrace> function DDTrace\switch_stack ] { - Parameters [1] { - Parameter #0 [ <required> $until ] + Parameter #0 [ <optional> DDTrace\SpanData|DDTrace\SpanStack|null $newStack = null ] } + - Return [ DDTrace\SpanStack|false|null ] } - Function [ <internal:ddtrace> function DDTrace\start_span ] { + Function [ <internal:ddtrace> function DDTrace\set_priority_sampling ] { - - Parameters [1] { - Parameter #0 [ <optional> $start_time = <default> ] + - Parameters [2] { + Parameter #0 [ <required> int $priority ] + Parameter #1 [ <optional> bool $global = false ] } + - Return [ void ] } - Function [ <internal:ddtrace> function DDTrace\close_span ] { + Function [ <internal:ddtrace> function DDTrace\get_priority_sampling ] { - Parameters [1] { - Parameter #0 [ <optional> $finish_time = <default> ] + Parameter #0 [ <optional> bool $global = false ] } + - Return [ ?int ] } - Function [ <internal:ddtrace> function DDTrace\active_span ] { + Function [ <internal:ddtrace> function DDTrace\get_sanitized_exception_trace ] { - - Parameters [0] { + - Parameters [2] { + Parameter #0 [ <required> Exception|Throwable $exception ] + Parameter #1 [ <optional> int $skipFrames = 0 ] } + - Return [ string ] } - Function [ <internal:ddtrace> function DDTrace\root_span ] { + Function [ <internal:ddtrace> function DDTrace\consume_distributed_tracing_headers ] { - - Parameters [0] { + - Parameters [1] { + Parameter #0 [ <required> callable|array $headersOrCallback ] } + - Return [ void ] } - Function [ <internal:ddtrace> function dd_trace_peek_span_id ] { + Function [ <internal:ddtrace> function DDTrace\generate_distributed_tracing_headers ] { - - Parameters [0] { + - Parameters [1] { + Parameter #0 [ <optional> ?array $inject = null ] } + - Return [ array ] } - Function [ <internal:ddtrace> function dd_trace_pop_span_id ] { + Function [ <internal:ddtrace> function DDTrace\find_active_exception ] { - Parameters [0] { } + - Return [ ?Throwable ] } - Function [ <internal:ddtrace> function dd_trace_push_span_id ] { + Function [ <internal:ddtrace> function DDTrace\extract_ip_from_headers ] { - Parameters [1] { - Parameter #0 [ <optional> $existing_id = <default> ] + Parameter #0 [ <required> array $headers ] + } + - Return [ array ] + } + Function [ <internal:ddtrace> function DDTrace\startup_logs ] { + + - Parameters [0] { } + - Return [ string ] } Function [ <internal:ddtrace> function DDTrace\trace_id ] { - Parameters [0] { } + - Return [ string ] + } + Function [ <internal:ddtrace> function DDTrace\logs_correlation_trace_id ] { + + - Parameters [0] { + } + - Return [ string ] } Function [ <internal:ddtrace> function DDTrace\current_context ] { - Parameters [0] { } + - Return [ array ] } Function [ <internal:ddtrace> function DDTrace\set_distributed_tracing_context ] { - Parameters [4] { - Parameter #0 [ <required> $trace_id ] - Parameter #1 [ <required> $parent_id ] - Parameter #2 [ <optional> $origin = <default> ] - Parameter #3 [ <optional> $tags = <default> ] + Parameter #0 [ <required> string $traceId ] + Parameter #1 [ <required> string $parentId ] + Parameter #2 [ <optional> ?string $origin = null ] + Parameter #3 [ <optional> array|string|null $propagated_tags = null ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_trace_reset ] { + Function [ <internal:ddtrace> function DDTrace\flush ] { - Parameters [0] { } + - Return [ void ] } - Function [ <internal:ddtrace> function dd_trace_send_traces_via_thread ] { + Function [ <internal:ddtrace> function DDTrace\curl_multi_exec_get_request_spans ] { - - Parameters [3] { - Parameter #0 [ <required> $url ] - Parameter #1 [ <required> $http_headers ] - Parameter #2 [ <required> $body ] + - Parameters [1] { + Parameter #0 [ <required> &$array ] } + - Return [ void ] } - Function [ <internal:ddtrace> function dd_trace_serialize_closed_spans ] { + Function [ <internal:ddtrace> function DDTrace\System\container_id ] { - Parameters [0] { } + - Return [ ?string ] } - Function [ <internal:ddtrace> function dd_trace_serialize_msgpack ] { + Function [ <internal:ddtrace> function DDTrace\Config\integration_analytics_enabled ] { - Parameters [1] { - Parameter #0 [ <required> $trace_array ] + Parameter #0 [ <required> string $integrationName ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_trace_set_trace_id ] { + Function [ <internal:ddtrace> function DDTrace\Config\integration_analytics_sample_rate ] { - Parameters [1] { - Parameter #0 [ <required> $trace_id ] + Parameter #0 [ <required> string $integrationName ] } + - Return [ float ] } - Function [ <internal:ddtrace> function dd_trace_tracer_is_limited ] { + Function [ <internal:ddtrace> function DDTrace\UserRequest\has_listeners ] { - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_tracer_circuit_breaker_can_try ] { + Function [ <internal:ddtrace> function DDTrace\UserRequest\notify_start ] { + + - Parameters [3] { + Parameter #0 [ <required> DDTrace\RootSpanData $span ] + Parameter #1 [ <required> array $data ] + Parameter #2 [ <optional> mixed $body = null ] + } + - Return [ ?array ] + } + Function [ <internal:ddtrace> function DDTrace\UserRequest\notify_commit ] { + + - Parameters [4] { + Parameter #0 [ <required> DDTrace\RootSpanData $span ] + Parameter #1 [ <required> int $status ] + Parameter #2 [ <required> array $headers ] + Parameter #3 [ <optional> mixed $body = null ] + } + - Return [ ?array ] + } + Function [ <internal:ddtrace> function DDTrace\UserRequest\set_blocking_function ] { + + - Parameters [2] { + Parameter #0 [ <required> DDTrace\RootSpanData $span ] + Parameter #1 [ <required> callable $blockingFunction ] + } + - Return [ void ] + } + Function [ <internal:ddtrace> function DDTrace\Testing\trigger_error ] { + + - Parameters [2] { + Parameter #0 [ <required> string $message ] + Parameter #1 [ <required> int $errorType ] + } + - Return [ void ] + } + Function [ <internal:ddtrace> function dd_trace_env_config ] { + + - Parameters [1] { + Parameter #0 [ <required> string $envName ] + } + - Return [ mixed ] + } + Function [ <internal:ddtrace> function dd_trace_disable_in_request ] { - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_tracer_circuit_breaker_info ] { + Function [ <internal:ddtrace> function dd_trace_reset ] { - Parameters [0] { } + - Return [ bool ] + } + Function [ <internal:ddtrace> function dd_trace_serialize_msgpack ] { + + - Parameters [1] { + Parameter #0 [ <required> array $traceArray ] + } + - Return [ string|bool ] + } + Function [ <internal:ddtrace> function dd_trace_noop ] { + + - Parameters [1] { + Parameter #0 [ <optional> mixed ...$args ] + } + - Return [ bool ] + } + Function [ <internal:ddtrace> function dd_trace_dd_get_memory_limit ] { + + - Parameters [0] { + } + - Return [ int ] + } + Function [ <internal:ddtrace> function dd_trace_check_memory_under_limit ] { + + - Parameters [0] { + } + - Return [ bool ] } Function [ <internal:ddtrace> function dd_tracer_circuit_breaker_register_error ] { - Parameters [0] { } + - Return [ bool ] } Function [ <internal:ddtrace> function dd_tracer_circuit_breaker_register_success ] { - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_untrace ] { + Function [ <internal:ddtrace> function dd_tracer_circuit_breaker_can_try ] { - - Parameters [2] { - Parameter #0 [ <required> $function_name ] - Parameter #1 [ <optional> $class_name = <default> ] + - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function dd_trace_compile_time_microseconds ] { + Function [ <internal:ddtrace> function dd_tracer_circuit_breaker_info ] { - Parameters [0] { } + - Return [ array ] } Function [ <internal:ddtrace> function ddtrace_config_app_name ] { - Parameters [1] { - Parameter #0 [ <optional> $default_name = <default> ] + Parameter #0 [ <optional> ?string $fallbackName = null ] } + - Return [ ?string ] } Function [ <internal:ddtrace> function ddtrace_config_distributed_tracing_enabled ] { - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function ddtrace_config_integration_enabled ] { + Function [ <internal:ddtrace> function ddtrace_config_trace_enabled ] { - - Parameters [1] { - Parameter #0 [ <required> $integration_name ] + - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function ddtrace_config_trace_enabled ] { + Function [ <internal:ddtrace> function ddtrace_config_integration_enabled ] { - - Parameters [0] { + - Parameters [1] { + Parameter #0 [ <required> string $integrationName ] } + - Return [ bool ] } Function [ <internal:ddtrace> function ddtrace_init ] { - Parameters [1] { - Parameter #0 [ <required> $dir ] + Parameter #0 [ <required> string $dir ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\add_global_tag ] { + Function [ <internal:ddtrace> function dd_trace_send_traces_via_thread ] { - - Parameters [2] { - Parameter #0 [ <required> $key ] - Parameter #1 [ <required> $value ] + - Parameters [3] { + Parameter #0 [ <required> int $numTraces ] + Parameter #1 [ <required> array $curlHeaders ] + Parameter #2 [ <required> string $payload ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\add_distributed_tag ] { + Function [ <internal:ddtrace> function dd_trace_buffer_span ] { - - Parameters [2] { - Parameter #0 [ <required> $key ] - Parameter #1 [ <required> $value ] + - Parameters [1] { + Parameter #0 [ <required> array $traceArray ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\additional_trace_meta ] { + Function [ <internal:ddtrace> function dd_trace_coms_trigger_writer_flush ] { - Parameters [0] { } + - Return [ int ] } - Function [ <internal:ddtrace> function DDTrace\trace_function ] { + Function [ <internal:ddtrace> function dd_trace_internal_fn ] { - Parameters [2] { - Parameter #0 [ <required> $function_name ] - Parameter #1 [ <required> $tracing_closure ] + Parameter #0 [ <required> string $functionName ] + Parameter #1 [ <optional> mixed ...$args ] } } - Function [ <internal:ddtrace> function dd_trace_function ] { + Function [ <internal:ddtrace> function dd_trace_set_trace_id ] { - - Parameters [2] { - Parameter #0 [ <required> $function_name ] - Parameter #1 [ <required> $tracing_closure ] + - Parameters [1] { + Parameter #0 [ <optional> ?string $traceId = null ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\trace_method ] { + Function [ <internal:ddtrace> function dd_trace_closed_spans_count ] { - - Parameters [3] { - Parameter #0 [ <required> $class_name ] - Parameter #1 [ <required> $method_name ] - Parameter #2 [ <required> $tracing_closure ] + - Parameters [0] { } + - Return [ int ] } - Function [ <internal:ddtrace> function dd_trace_method ] { + Function [ <internal:ddtrace> function dd_trace_tracer_is_limited ] { - - Parameters [3] { - Parameter #0 [ <required> $class_name ] - Parameter #1 [ <required> $method_name ] - Parameter #2 [ <required> $tracing_closure ] + - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\hook_function ] { + Function [ <internal:ddtrace> function dd_trace_compile_time_microseconds ] { - - Parameters [3] { - Parameter #0 [ <required> $function_name ] - Parameter #1 [ <optional> $prehook = <default> ] - Parameter #2 [ <optional> $posthook = <default> ] + - Parameters [0] { } + - Return [ int ] } - Function [ <internal:ddtrace> function DDTrace\hook_method ] { + Function [ <internal:ddtrace> function dd_trace_serialize_closed_spans ] { - - Parameters [4] { - Parameter #0 [ <required> $class_name ] - Parameter #1 [ <required> $method_name ] - Parameter #2 [ <optional> $prehook = <default> ] - Parameter #3 [ <optional> $posthook = <default> ] + - Parameters [0] { } + - Return [ array ] } - Function [ <internal:ddtrace> function DDTrace\startup_logs ] { + Function [ <internal:ddtrace> function dd_trace_peek_span_id ] { - Parameters [0] { } + - Return [ string ] } - Function [ <internal:ddtrace> function DDTrace\get_priority_sampling ] { + Function [ <internal:ddtrace> function dd_trace_close_all_spans_and_flush ] { - - Parameters [1] { - Parameter #0 [ <optional> $global = <default> ] + - Parameters [0] { } + - Return [ void ] } - Function [ <internal:ddtrace> function DDTrace\set_priority_sampling ] { + Function [ <internal:ddtrace> function dd_trace_function ] { - Parameters [2] { - Parameter #0 [ <required> $priority ] - Parameter #1 [ <optional> $global = <default> ] + Parameter #0 [ <required> string $functionName ] + Parameter #1 [ <required> Closure|array|null $tracingClosureOrConfigArray ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\Config\integration_analytics_enabled ] { + Function [ <internal:ddtrace> function dd_trace_method ] { - - Parameters [1] { - Parameter #0 [ <required> $integration_name ] + - Parameters [3] { + Parameter #0 [ <required> string $className ] + Parameter #1 [ <required> string $methodName ] + Parameter #2 [ <required> Closure|array|null $tracingClosureOrConfigArray ] } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\Config\integration_analytics_sample_rate ] { + Function [ <internal:ddtrace> function dd_untrace ] { + + - Parameters [2] { + Parameter #0 [ <required> string $functionName ] + Parameter #1 [ <optional> string $className = null ] + } + - Return [ bool ] + } + Function [ <internal:ddtrace> function dd_trace_synchronous_flush ] { - Parameters [1] { - Parameter #0 [ <required> $integration_name ] + Parameter #0 [ <required> int $timeout ] } + - Return [ void ] } - Function [ <internal:ddtrace> function DDTrace\System\container_id ] { + Function [ <internal, deprecated:ddtrace> function dd_trace_forward_call ] { - Parameters [0] { } + - Return [ bool ] } - Function [ <internal:ddtrace> function DDTrace\Testing\trigger_error ] { + Function [ <internal, deprecated:ddtrace> function dd_trace_generate_id ] { - - Parameters [2] { - Parameter #0 [ <required> $level ] - Parameter #1 [ <required> $message ] + - Parameters [1] { + Parameter #0 [ <required> string $existingID ] } + - Return [ string ] } - Function [ <internal:ddtrace> function DDTrace\Testing\extract_ip_from_headers ] { + Function [ <internal, deprecated:ddtrace> function dd_trace_push_span_id ] { - Parameters [1] { - Parameter #0 [ <required> $headers ] + Parameter #0 [ <required> string $existingID ] + } + - Return [ string ] + } + Function [ <internal, deprecated:ddtrace> function dd_trace_pop_span_id ] { + + - Parameters [0] { + } + - Return [ string ] + } + Function [ <internal, deprecated:ddtrace> function additional_trace_meta ] { + + - Parameters [0] { } + - Return [ array ] } Function [ <internal:ddtrace> function DDTrace\install_hook ] { - - Parameters [3] { - Parameter #0 [ <required> Closure|Generator|string $target ] - Parameter #1 [ <required> ?Closure $begin ] - Parameter #2 [ <required> ?Closure $end ] + - Parameters [4] { + Parameter #0 [ <required> Closure|Generator|callable|string $target ] + Parameter #1 [ <optional> ?Closure $begin = null ] + Parameter #2 [ <optional> ?Closure $end = null ] + Parameter #3 [ <optional> int $flags = 0 ] } - Return [ int ] } Function [ <internal:ddtrace> function DDTrace\remove_hook ] { - - Parameters [1] { + - Parameters [2] { Parameter #0 [ <required> int $id ] + Parameter #1 [ <optional> string $location = "" ] } - - Return [ void ] } } - - Classes [3] { + - Classes [7] { Class [ <internal:ddtrace> class DDTrace\HookData ] { - Constants [0] { @@ -960,14 +1418,111 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { } - Properties [5] { + Property [ public mixed $data ] Property [ public int $id ] Property [ public array $args ] Property [ public mixed $returned ] Property [ public ?Throwable $exception ] - Property [ public mixed $data ] } - - Methods [0] { + - Methods [9] { + Method [ <internal:ddtrace> public method span ] { + + - Parameters [1] { + Parameter #0 [ <optional> DDTrace\SpanStack|DDTrace\SpanData|null $parent = null ] + } + - Return [ DDTrace\SpanData ] + } + + Method [ <internal:ddtrace> public method unlimitedSpan ] { + + - Parameters [1] { + Parameter #0 [ <optional> DDTrace\SpanStack|DDTrace\SpanData|null $parent = null ] + } + - Return [ DDTrace\SpanData ] + } + + Method [ <internal:ddtrace> public method overrideArguments ] { + + - Parameters [1] { + Parameter #0 [ <required> array $arguments ] + } + - Return [ bool ] + } + + Method [ <internal:ddtrace> public method overrideReturnValue ] { + + - Parameters [1] { + Parameter #0 [ <required> mixed &$value ] + } + - Return [ bool ] + } + + Method [ <internal:ddtrace> public method overrideException ] { + + - Parameters [1] { + Parameter #0 [ <required> ?Throwable $exception ] + } + - Return [ bool ] + } + + Method [ <internal:ddtrace> public method disableJitInlining ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ <internal:ddtrace> public method suppressCall ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ <internal:ddtrace> public method allowNestedHook ] { + + - Parameters [0] { + } + - Return [ bool ] + } + + Method [ <internal:ddtrace> public method getSourceFile ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ <internal:ddtrace> final class DDTrace\Trace ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [1] { + Method [ <internal:ddtrace, ctor> public method __construct ] { + + - Parameters [7] { + Parameter #0 [ <optional> string $name = "" ] + Parameter #1 [ <optional> string $resource = "" ] + Parameter #2 [ <optional> string $type = "" ] + Parameter #3 [ <optional> string $service = "" ] + Parameter #4 [ <optional> array $tags = [] ] + Parameter #5 [ <optional> bool $recurse = true ] + Parameter #6 [ <optional> bool $run_if_limited = false ] + } + } } } @@ -982,30 +1537,134 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { - Static methods [0] { } - - Properties [9] { - Property [ public $name = NULL ] - Property [ public $resource = NULL ] - Property [ public $service = NULL ] - Property [ public $type = NULL ] - Property [ public $meta = NULL ] - Property [ public $metrics = NULL ] - Property [ public $exception = NULL ] - Property [ public $parent = NULL ] - Property [ public $id = NULL ] + - Properties [12] { + Property [ public ?string $name = '' ] + Property [ public ?string $resource = '' ] + Property [ public ?string $service = '' ] + Property [ public ?string $type = '' ] + Property [ public array $meta = [] ] + Property [ public array $metrics = [] ] + Property [ public ?Throwable $exception = NULL ] + Property [ public readonly string $id ] + Property [ public array $links = [] ] + Property [ public array $peerServiceSources = [] ] + Property [ public readonly ?DDTrace\SpanData $parent ] + Property [ public readonly DDTrace\SpanStack $stack ] } - - Methods [2] { + - Methods [4] { Method [ <internal:ddtrace> public method getDuration ] { - Parameters [0] { } + - Return [ int ] } Method [ <internal:ddtrace> public method getStartTime ] { - Parameters [0] { } + - Return [ int ] + } + + Method [ <internal:ddtrace> public method getLink ] { + + - Parameters [0] { + } + - Return [ DDTrace\SpanLink ] + } + + Method [ <internal:ddtrace> public method hexId ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ <internal:ddtrace> class DDTrace\RootSpanData extends DDTrace\SpanData ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [20] { + Property [ public ?string $name = '' ] + Property [ public ?string $resource = '' ] + Property [ public ?string $service = '' ] + Property [ public ?string $type = '' ] + Property [ public array $meta = [] ] + Property [ public array $metrics = [] ] + Property [ public ?Throwable $exception = NULL ] + Property [ public readonly string $id ] + Property [ public array $links = [] ] + Property [ public array $peerServiceSources = [] ] + Property [ public readonly ?DDTrace\SpanData $parent ] + Property [ public readonly DDTrace\SpanStack $stack ] + Property [ public string $origin ] + Property [ public array $propagatedTags = [] ] + Property [ public int $samplingPriority = 1073741824 ] + Property [ public int $propagatedSamplingPriority ] + Property [ public string $tracestate ] + Property [ public array $tracestateTags = [] ] + Property [ public string $parentId ] + Property [ public string $traceId = '' ] + } + + - Methods [4] { + Method [ <internal:ddtrace, inherits DDTrace\SpanData> public method getDuration ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ <internal:ddtrace, inherits DDTrace\SpanData> public method getStartTime ] { + + - Parameters [0] { + } + - Return [ int ] } + + Method [ <internal:ddtrace, inherits DDTrace\SpanData> public method getLink ] { + + - Parameters [0] { + } + - Return [ DDTrace\SpanLink ] + } + + Method [ <internal:ddtrace, inherits DDTrace\SpanData> public method hexId ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ <internal:ddtrace> class DDTrace\SpanStack ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [2] { + Property [ public readonly ?DDTrace\SpanStack $parent ] + Property [ public ?DDTrace\SpanData $active = NULL ] + } + + - Methods [0] { } } @@ -1023,8 +1682,8 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { - Properties [4] { Property [ protected $message = '' ] Property [ protected $code = 0 ] - Property [ protected $file = NULL ] - Property [ protected $line = NULL ] + Property [ protected string $file = '' ] + Property [ protected int $line = 0 ] } - Methods [10] { @@ -1041,6 +1700,7 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { - Parameters [0] { } + - Tentative return [ void ] } Method [ <internal:Core, inherits Exception, prototype Throwable> final public method getMessage ] { @@ -1099,6 +1759,42 @@ Extension [ <persistent> extension #120 ddtrace version 0.79.0 ] { } } } + + Class [ <internal:ddtrace> class DDTrace\SpanLink implements JsonSerializable ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [1] { + Method [ <internal:ddtrace> static public method fromHeaders ] { + + - Parameters [1] { + Parameter #0 [ <required> callable|array $headersOrCallback ] + } + - Return [ DDTrace\SpanLink ] + } + } + + - Properties [5] { + Property [ public string $traceId ] + Property [ public string $spanId ] + Property [ public string $traceState ] + Property [ public array $attributes ] + Property [ public int $droppedAttributesCount ] + } + + - Methods [1] { + Method [ <internal:ddtrace, prototype JsonSerializable> public method jsonSerialize ] { + + - Parameters [0] { + } + - Return [ mixed ] + } + } + } } } diff --git a/makedeps.sh b/makedeps.sh new file mode 100755 index 0000000..a11cb39 --- /dev/null +++ b/makedeps.sh @@ -0,0 +1,21 @@ +#!/bin/sh +EXT=datadog_trace + +if [ $# -lt 1 ]; then + echo usage $0 version + exit 0 +fi +if [ -f $EXT-$1.tgz ]; then + echo "+ Unpack" + tar xf $EXT-$1.tgz $EXT-$1 + + pushd $EXT-$1 + echo "+ Fetch" + cargo vendor mycargo + + echo "+ Pack" + tar czf ../$EXT-deps-$1.tgz mycargo + popd +else + echo $EXT-$version.tgz missing +fi diff --git a/php-pecl-datadog-trace.spec b/php-pecl-datadog-trace.spec index 6e2f85c..9b016f6 100644 --- a/php-pecl-datadog-trace.spec +++ b/php-pecl-datadog-trace.spec @@ -1,7 +1,7 @@ # remirepo spec file for php-pecl-datadog-trace # -# Copyright (c) 2019-2022 Remi Collet -# License: CC-BY-SA +# Copyright (c) 2019-2024 Remi Collet +# License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries @@ -10,8 +10,17 @@ %scl_package php-pecl-datadog-trace %else %global _root_libdir %{_libdir} +%global _root_bindir %{_bindir} %endif +# to much issues with test suite and parallel builds +%bcond_with tests + +# TODO: build for EL-8 and EL-9 +# see https://rpms.remirepo.net/rpmphp/zoom.php?rpm=rust +# if needed, build using --enablerepo=stream +# and delete root_cache after the build + # pecl name %global proj_name datadog_trace # no underscore for package name @@ -21,18 +30,21 @@ %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global ini_name 40-%{pecl_name}.ini - -%bcond_without tests +%global sources %{proj_name}-%{version} +%global _configure ../%{sources}/configure Summary: APM and distributed tracing for PHP Name: %{?scl_prefix}php-pecl-datadog-trace -Version: 0.79.0 +Version: 0.98.1 Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} # extension is dual-licensed under Apache 2.0 or BSD3. -# mpack is MIT -License: (ASL 2.0 or BSD) and MIT +# bundled rust ext are MIT AND Apache-2.0 +License: (Apache-2.0 OR BSD-3-Clause) AND MIT AND Apache-2.0 URL: https://pecl.php.net/package/%{proj_name} Source0: https://pecl.php.net/get/%{proj_name}-%{version}.tgz +# awfull hack, use a bundled rust registry +Source1: makedeps.sh +Source2: %{proj_name}-deps-%{version}.tgz # ddtrace only supports 64-bit platforms ExcludeArch: %{ix86} %{arm} @@ -44,8 +56,11 @@ BuildRequires: devtoolset-6-toolchain %global dtsprefix devtoolset-6- %endif BuildRequires: make +BuildRequires: cargo >= 1.70 +BuildRequires: rust >= 1.70 BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel >= 7.0 +BuildRequires: %{?scl_prefix}php-devel < 8.4 BuildRequires: %{?scl_prefix}php-pear BuildRequires: curl-devel BuildRequires: %{?scl_prefix}php-json @@ -58,7 +73,6 @@ BuildRequires: %{?scl_prefix}php-posix Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} -%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} Requires: %{?scl_prefix}php-json%{?_isa} %if "%{php_version}" > "8.0" Requires: %{?scl_prefix}php-curl%{?_isa} @@ -79,15 +93,14 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO %prep -%setup -q -c -mv %{proj_name}-%{version} NTS +%setup -q -c -a2 # Don't install tests sed -e 's/role="test"/role="src"/' \ %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ -i package.xml -cd NTS +cd %{sources} : PEAR installer stuff sed -e 's:@php_dir@:%{pear_phpdir}:' \ -e 's:_BUILD_FROM_PECL_:1:' \ @@ -102,9 +115,34 @@ if test "x${extver}" != "x%{version}"; then fi cd .. +: Create cargo configuration to use vendor directory +mkdir .cargo +cat << EOF | tee .cargo/config.toml +[build] +jobs = %(echo %{?_smp_mflags} | sed 's/\-j//') +rustc = "%{_root_bindir}/rustc" + +[env] +CFLAGS = "%{build_cflags}" +CXXFLAGS = "%{build_cxxflags}" +LDFLAGS = "%{build_ldflags}" + +[term] +verbose = true + +[source.crates-io] +replace-with = "vendored-sources" + +[source.vendored-sources] +directory = "$PWD/mycargo" +EOF + +: Required rust version +grep -h rust-version mycargo/*/Cargo.toml | sort -u | tail -n 8 + +mkdir NTS %if %{with_zts} -# Duplicate source tree for NTS / ZTS build -cp -pr NTS ZTS +mkdir ZTS %endif # Create configuration file @@ -121,20 +159,24 @@ EOF %build %{?dtsenable} +%if 0%{?scl:1} +source /opt/%{scl_vendor}/%{scl}/enable +%endif + +cd %{sources} +%{__phpize} -cd NTS -%{_bindir}/phpize +cd ../NTS %configure \ --enable-ddtrace \ - --with-php-config=%{_bindir}/php-config + --with-php-config=%{__phpconfig} make %{?_smp_mflags} %if %{with_zts} cd ../ZTS -%{_bindir}/zts-phpize %configure \ --enable-ddtrace \ - --with-php-config=%{_bindir}/zts-php-config + --with-php-config=%{__ztsphpconfig} make %{?_smp_mflags} %endif @@ -157,32 +199,41 @@ install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif # PEAR stuff -mkdir -p %{buildroot}%{pear_phpdir}/datadog_trace/ -cp -pr NTS/bridge %{buildroot}%{pear_phpdir}/datadog_trace/bridge +mkdir -p %{buildroot}%{pear_phpdir}/datadog_trace/ +cp -pr %{sources}/bridge %{buildroot}%{pear_phpdir}/datadog_trace/bridge +cp -pr %{sources}/src %{buildroot}%{pear_phpdir}/datadog_trace/src # Documentation for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done %check +cd %{sources} export DD_TRACE_CLI_ENABLED=1 +export DD_INSTRUMENTATION_TELEMETRY_ENABLED=0 # Erratic results -rm ?TS/tests/ext/segfault_backtrace_*.phpt -rm ?TS/tests/ext/sandbox/memory_limit_graceful_bailout.phpt +rm tests/ext/segfault_backtrace_*.phpt +rm tests/ext/sandbox/memory_limit_graceful_bailout.phpt %if "%{php_version}" > "8.0" -rm ?TS/tests/ext/sandbox/fatal_errors_are_tracked_005.phpt +rm tests/ext/sandbox/fatal_errors_are_tracked_005.phpt %endif # XFAIL -rm ?TS/tests/ext/sandbox/hook_function/01.phpt -rm ?TS/tests/ext/sandbox/hook_method/01.phpt +find tests/ -type f -exec grep -q -- '--XFAIL--' {} \; -delete -print +# https://github.com/DataDog/dd-trace-php/issues/2115 +rm -r tests/ext/telemetry +# https://github.com/DataDog/dd-trace-php/issues/2248 +rm tests/ext/force_flush_traces.phpt +rm tests/ext/sandbox/fatal_errors_ignored_in_tracing_closure.phpt # DEP for ext dependencies, MOD for ext used in tests DEP="" MOD="-n -d ddtrace.request_init_hook=" +OPT="-q --show-diff" %if "%{php_version}" > "8.0" +OPT="$OPT %{?_smp_mflags}" [ -f %{php_extdir}/curl.so ] && DEP="$DEP -d extension=curl.so" %else [ -f %{php_extdir}/curl.so ] && MOD="$MOD -d extension=curl.so" @@ -190,7 +241,6 @@ MOD="-n -d ddtrace.request_init_hook=" [ -f %{php_extdir}/json.so ] && DEP="$DEP -d extension=json.so" [ -f %{php_extdir}/posix.so ] && MOD="$MOD -d extension=posix.so" -cd NTS : Minimal load test for NTS extension %{__php} --no-php-ini $DEP \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ @@ -199,13 +249,12 @@ cd NTS %if %{with tests} : Upstream test suite for NTS extension TEST_PHP_EXECUTABLE=%{_bindir}/php \ -TEST_PHP_ARGS="$DEP $MOD -d extension=$PWD/modules/%{pecl_name}.so" \ +TEST_PHP_ARGS="$DEP $MOD -d extension=$PWD/../NTS/modules/%{pecl_name}.so" \ REPORT_EXIT_STATUS=1 \ -%{_bindir}/php -n run-tests.php -q --show-diff +%{_bindir}/php -n run-tests.php $OPT %endif %if %{with_zts} -cd ../ZTS : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini $DEP \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ @@ -235,9 +284,10 @@ fi %files %doc %{pecl_docdir}/%{pecl_name} -%{?_licensedir:%license NTS/LICENSE*} +%{?_licensedir:%license %{sources}/LICENSE*} %dir %{pear_phpdir}/datadog_trace %{pear_phpdir}/datadog_trace/bridge + %{pear_phpdir}/datadog_trace/src %{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} @@ -250,6 +300,127 @@ fi %changelog +* Tue Mar 5 2024 Remi Collet <remi@remirepo.net> - 0.98.1-1 +- update to 0.98.1 +- install the src directory added in the archive + +* Tue Feb 20 2024 Remi Collet <remi@remirepo.net> - 0.98.0-1 +- update to 0.98.0 + +* Thu Jan 18 2024 Remi Collet <remi@remirepo.net> - 0.97.0-1 +- update to 0.97.0 + +* Wed Dec 20 2023 Remi Collet <remi@remirepo.net> - 0.96.0-1 +- update to 0.96.0 + +* Thu Dec 7 2023 Remi Collet <remi@remirepo.net> - 0.95.0-1 +- update to 0.95.0 + +* Wed Nov 29 2023 Remi Collet <remi@remirepo.net> - 0.94.1-1 +- update to 0.94.1 + +* Thu Nov 23 2023 Remi Collet <remi@remirepo.net> - 0.94.0-2 +- test build for https://github.com/DataDog/dd-trace-php/pull/2383 + +* Tue Nov 21 2023 Remi Collet <remi@remirepo.net> - 0.94.0-1 +- update to 0.94.0 +- open https://github.com/DataDog/dd-trace-php/issues/2376 LTO build failure + +* Mon Nov 13 2023 Remi Collet <remi@remirepo.net> - 0.93.2-1 +- update to 0.93.2 + +* Wed Nov 1 2023 Remi Collet <remi@remirepo.net> - 0.93.1-1 +- update to 0.93.1 + +* Mon Oct 30 2023 Remi Collet <remi@remirepo.net> - 0.93.0-1 +- update to 0.93.0 + +* Tue Oct 10 2023 Remi Collet <remi@remirepo.net> - 0.92.2-1 +- update to 0.92.2 + +* Mon Oct 2 2023 Remi Collet <remi@remirepo.net> - 0.92.1-1 +- update to 0.92.1 +- disable test suite which raises too much issues + +* Wed Sep 27 2023 Remi Collet <remi@remirepo.net> - 0.92.0-1 +- update to 0.92.0 +- open https://github.com/DataDog/dd-trace-php/issues/2285 + [Bug]: Failed connecting to the sidecar: Connection refused (os error 111) +- open https://github.com/DataDog/dd-trace-php/issues/2286 + [Bug]: Error in `datadog-ipc-helper': double free or corruption +- open https://github.com/DataDog/dd-trace-php/issues/2287 + [Bug]: test suite hangs + +* Fri Sep 15 2023 Remi Collet <remi@remirepo.net> - 0.91.2-1 +- update to 0.91.2 + +* Sat Sep 9 2023 Remi Collet <remi@remirepo.net> - 0.91.1-1 +- update to 0.91.1 + +* Thu Sep 7 2023 Remi Collet <remi@remirepo.net> - 0.91.0-1 +- update to 0.91.0 +- raise build dependency on rust 1.70 + +* Mon Jul 17 2023 Remi Collet <remi@remirepo.net> - 0.90.0-1 +- update to 0.90.0 +- build out of sources tree + +* Tue Jul 4 2023 Remi Collet <remi@remirepo.net> - 0.89.0-1 +- update to 0.89.0 + +* Mon Jun 19 2023 Remi Collet <remi@remirepo.net> - 0.88.1-1 +- update to 0.88.1 +- open https://github.com/DataDog/dd-trace-php/issues/2115 + test failures + +* Thu Jun 15 2023 Remi Collet <remi@remirepo.net> - 0.88.0-1 +- update to 0.88.0 +- use vendored rust dependencies +- open https://github.com/DataDog/dd-trace-php/issues/2103 + Cannot build OFFLINE + +* Fri May 19 2023 Remi Collet <remi@remirepo.net> - 0.87.2-1 +- update to 0.87.2 + +* Tue May 16 2023 Remi Collet <remi@remirepo.net> - 0.87.1-1 +- update to 0.87.1 + +* Sat May 13 2023 Remi Collet <remi@remirepo.net> - 0.87.0-1 +- update to 0.87.0 + +* Thu Apr 6 2023 Remi Collet <remi@remirepo.net> - 0.86.3-1 +- update to 0.86.3 + +* Wed Apr 5 2023 Remi Collet <remi@remirepo.net> - 0.86.2-1 +- update to 0.86.2 + +* Fri Mar 31 2023 Remi Collet <remi@remirepo.net> - 0.86.1-1 +- update to 0.86.1 + +* Thu Mar 23 2023 Remi Collet <remi@remirepo.net> - 0.86.0-1 +- update to 0.86.0 + +* Fri Feb 3 2023 Remi Collet <remi@remirepo.net> - 0.84.0-1 +- update to 0.84.0 + +* Thu Jan 19 2023 Remi Collet <remi@remirepo.net> - 0.83.1-1 +- update to 0.83.1 + +* Sat Jan 14 2023 Remi Collet <remi@remirepo.net> - 0.83.0-1 +- update to 0.83.0 + +* Wed Dec 7 2022 Remi Collet <remi@remirepo.net> - 0.82.0-1 +- update to 0.82.0 + +* Thu Nov 3 2022 Remi Collet <remi@remirepo.net> - 0.81.1-1 +- update to 0.81.1 + +* Wed Nov 2 2022 Remi Collet <remi@remirepo.net> - 0.81.0-1 +- update to 0.81.0 + +* Thu Sep 29 2022 Remi Collet <remi@remirepo.net> - 0.80.0-1 +- update to 0.80.0 + * Fri Sep 9 2022 Remi Collet <remi@remirepo.net> - 0.79.0-1 - update to 0.79.0 |