1717#include "../version.h"
1818#include "client_init.h"
1919
20- static const unsigned int DEFAULT_AGENT_PORT = 8126 ;
21- static const char * DEFAULT_AGENT_HOST = "127.0.0.1" ;
22- static const unsigned int MAX_TCP_PORT_ALLOWED = UINT16_MAX ;
23-
2420static dd_result _pack_command (mpack_writer_t * nonnull w , void * nullable ctx );
2521static dd_result _process_response (mpack_node_t root , void * nullable ctx );
2622static void _process_meta_and_metrics (
2723 mpack_node_t root , struct req_info * nonnull ctx );
28- static void _pack_agent_details (mpack_writer_t * nonnull w );
2924
3025static const dd_command_spec _spec = {
3126 .name = "client_init" ,
3227 .name_len = sizeof ("client_init" ) - 1 ,
33- .num_args = 7 ,
28+ .num_args = 6 ,
3429 .outgoing_cb = _pack_command ,
3530 .incoming_cb = _process_response ,
3631 .config_features_cb = dd_command_process_config_features_unexpected ,
3732};
3833
39- static void _pack_agent_details (mpack_writer_t * nonnull w )
40- {
41- zend_string * agent_host = get_global_DD_AGENT_HOST ();
42- zend_string * agent_url = get_global_DD_TRACE_AGENT_URL ();
43- unsigned int port = get_global_DD_TRACE_AGENT_PORT ();
44- char * host = NULL ;
45- php_url * parsed_url = NULL ;
46-
47- if (agent_host && ZSTR_LEN (agent_host ) > 0 ) {
48- host = ZSTR_VAL (agent_host );
49- } else if (agent_url && ZSTR_LEN (agent_url ) > 0 ) {
50- parsed_url = php_url_parse (ZSTR_VAL (agent_url ));
51- if (parsed_url ) {
52- #if PHP_VERSION_ID < 70300
53- if (parsed_url -> host && strlen (parsed_url -> host ) > 0 ) {
54- host = parsed_url -> host ;
55- }
56- #else
57- if (parsed_url -> host && ZSTR_LEN (parsed_url -> host ) > 0 ) {
58- host = ZSTR_VAL (parsed_url -> host );
59- }
60- #endif
61- port = parsed_url -> port ;
62- }
63- }
64-
65- if (!host ) {
66- host = (char * )DEFAULT_AGENT_HOST ;
67- }
68- if (port <= 0 || port > MAX_TCP_PORT_ALLOWED ) {
69- port = DEFAULT_AGENT_PORT ;
70- }
71-
72- dd_mpack_write_lstr (w , "host" );
73- dd_mpack_write_nullable_cstr (w , host );
74- dd_mpack_write_lstr (w , "port" );
75- mpack_write_uint (w , port );
76-
77- if (parsed_url ) {
78- php_url_free (parsed_url );
79- }
80- }
81-
8234dd_result dd_client_init (dd_conn * nonnull conn , struct req_info * nonnull ctx )
8335{
8436 return dd_command_exec_cred (conn , & _spec , ctx );
@@ -97,39 +49,6 @@ static dd_result _pack_command(
9749 mpack_write_bool (w , DDAPPSEC_G (active ));
9850 }
9951
100- // Service details
101- // NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
102- mpack_start_map (w , 6 );
103-
104- dd_mpack_write_lstr (w , "service" );
105- dd_mpack_write_nullable_cstr (w , ZSTR_VAL (get_DD_SERVICE ()));
106-
107- dd_mpack_write_lstr (w , "extra_services" );
108- zval extra_services ;
109- ZVAL_ARR (& extra_services , get_global_DD_EXTRA_SERVICES ());
110- dd_mpack_write_zval (w , & extra_services );
111-
112- dd_mpack_write_lstr (w , "env" );
113- dd_mpack_write_nullable_cstr (w , ZSTR_VAL (get_DD_ENV ()));
114-
115- dd_mpack_write_lstr (w , "tracer_version" );
116- dd_mpack_write_nullable_cstr (w , dd_trace_version ());
117-
118- dd_mpack_write_lstr (w , "app_version" );
119- dd_mpack_write_nullable_cstr (w , ZSTR_VAL (get_DD_VERSION ()));
120-
121- // We send this empty for now. The helper will check for empty and if so it
122- // will generate it
123- dd_mpack_write_lstr (w , "runtime_id" );
124- zend_string * runtime_id = dd_trace_get_formatted_runtime_id (false);
125- if (runtime_id == NULL ) {
126- dd_mpack_write_nullable_cstr (w , "" );
127- } else {
128- dd_mpack_write_nullable_zstr (w , runtime_id );
129- zend_string_free (runtime_id );
130- }
131- mpack_finish_map (w );
132-
13352 // Engine settings
13453 // NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
13554 mpack_start_map (w , 6 );
@@ -180,15 +99,13 @@ static dd_result _pack_command(
18099
181100 // Remote config settings
182101 // NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
183- mpack_start_map (w , 4 );
102+ mpack_start_map (w , 2 );
184103
185104 dd_mpack_write_lstr (w , "enabled" );
186105 mpack_write_bool (w , get_DD_REMOTE_CONFIG_ENABLED ());
187106
188- _pack_agent_details (w );
189-
190- dd_mpack_write_lstr (w , "poll_interval" );
191- mpack_write_u32 (w , get_DD_REMOTE_CONFIG_POLL_INTERVAL ());
107+ dd_mpack_write_lstr (w , "shmem_path" );
108+ dd_mpack_write_nullable_cstr (w , dd_trace_remote_config_get_path ());
192109
193110 mpack_finish_map (w );
194111
0 commit comments