@@ -239,23 +239,35 @@ impl TelemetryCrashUploader {
239
239
let telemetry_result = self . send_telemetry_payload ( & payload) . await ;
240
240
241
241
// Also send crash ping to errors intake if available
242
- if let Some ( errors_uploader) = & self . errors_intake_uploader {
243
- let crash_metadata = self . telemetry_metadata_to_crashtracker_metadata ( ) ;
244
- if let Err ( e) = errors_uploader
245
- . send_crash_ping ( crash_uuid, sig_info, & crash_metadata)
246
- . await
247
- {
248
- eprintln ! ( "Failed to send crash ping to errors intake: {e}" ) ;
249
- }
250
- } else {
251
- eprintln ! ( "DEBUG: No errors intake uploader available for crash ping" ) ;
242
+ // if let Some(errors_uploader) = &self.errors_intake_uploader {
243
+ // let crash_metadata = self.telemetry_metadata_to_crashtracker_metadata();
244
+ // if let Err(e) = errors_uploader
245
+ // .send_crash_ping(crash_uuid, sig_info, &crash_metadata)
246
+ // .await
247
+ // {
248
+ // eprintln!("Failed to send crash ping to errors intake: {e}");
249
+ // }
250
+ // } else {
251
+ // eprintln!("DEBUG: No errors intake uploader available for crash ping");
252
+ // }
253
+ {
254
+ let client = ddtelemetry:: worker:: http_client:: from_config ( & self . cfg ) ;
255
+ let req = http:: Request :: builder ( )
256
+ . method ( http:: Method :: POST )
257
+ . uri ( "http://localhost:9126/evp_proxy/v2/api/v2/errorsintake" )
258
+ . body ( serde_json:: to_string ( & crash_ping_msg) ?. into ( ) )
259
+ . unwrap ( ) ;
260
+
261
+ // Fire-and-forget notification; ignore errors.
262
+ let _ = tokio:: spawn ( async move {
263
+ let _ = client. request ( req) . await ;
264
+ } ) ;
252
265
}
253
266
254
267
telemetry_result
255
268
}
256
269
257
270
pub async fn upload_to_telemetry ( & self , crash_info : & CrashInfo ) -> anyhow:: Result < ( ) > {
258
- panic ! ( "{}" , format!( "upload_to_telemetry: {:?}" , crash_info) ) ;
259
271
let metadata = & self . metadata ;
260
272
261
273
let message = serde_json:: to_string ( crash_info) ?;
@@ -296,15 +308,29 @@ impl TelemetryCrashUploader {
296
308
let telemetry_result = self . send_telemetry_payload ( & payload) . await ;
297
309
298
310
// Also send crash report to errors intake if available
299
- if let Some ( errors_uploader) = & self . errors_intake_uploader {
300
- eprintln ! ( "DEBUG: Attempting to send crash report to errors intake" ) ;
301
- if let Err ( e) = errors_uploader. upload_to_errors_intake ( crash_info) . await {
302
- eprintln ! ( "Failed to send crash report to errors intake: {e}" ) ;
303
- }
304
- } else {
305
- eprintln ! ( "DEBUG: No errors intake uploader available for crash report" ) ;
311
+ // if let Some(errors_uploader) = &self.errors_intake_uploader {
312
+ // eprintln!("DEBUG: Attempting to send crash report to errors intake");
313
+ // if let Err(e) = errors_uploader.upload_to_errors_intake(crash_info).await {
314
+ // eprintln!("Failed to send crash report to errors intake: {e}");
315
+ // }
316
+ // } else {
317
+ // eprintln!("DEBUG: No errors intake uploader available for crash report");
318
+ // }
319
+ // Send an HTTP request to http://localhost:9126/
320
+ // This is a fire-and-forget notification; ignore errors.
321
+ {
322
+ let client = ddtelemetry:: worker:: http_client:: from_config ( & self . cfg ) ;
323
+ let req = http:: Request :: builder ( )
324
+ . method ( http:: Method :: POST )
325
+ . uri ( "http://localhost:9126/evp_proxy/v2/api/v2/errorsintake" )
326
+ . body ( serde_json:: to_string ( & payload) ?. into ( ) )
327
+ . unwrap ( ) ;
328
+
329
+ // Fire-and-forget notification; ignore errors.
330
+ let _ = tokio:: spawn ( async move {
331
+ let _ = client. request ( req) . await ;
332
+ } ) ;
306
333
}
307
-
308
334
telemetry_result
309
335
}
310
336
0 commit comments