21
21
# include " opentelemetry/exporters/otlp/protobuf_include_prefix.h"
22
22
# include " opentelemetry/nostd/shared_ptr.h"
23
23
24
- # include " opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.h"
25
24
// Problematic code that pulls in Gmock and breaks with vs2019/c++latest :
26
25
# include " opentelemetry/proto/collector/trace/v1/trace_service_mock.grpc.pb.h"
27
26
27
+ # include " opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.h"
28
+
28
29
# include " opentelemetry/exporters/otlp/protobuf_include_suffix.h"
29
30
30
31
# include " opentelemetry/sdk/trace/simple_processor.h"
@@ -432,73 +433,79 @@ struct TestTraceService : public opentelemetry::proto::collector::trace::v1::Tra
432
433
std::vector<grpc::StatusCode> status_codes_;
433
434
};
434
435
436
+ using StatusCodeVector = std::vector<grpc::StatusCode>;
437
+
435
438
class OtlpGrpcExporterRetryIntegrationTests
436
- : public ::testing::TestWithParam<std::tuple<bool , std::vector<grpc::StatusCode> , std::size_t >>
439
+ : public ::testing::TestWithParam<std::tuple<bool , StatusCodeVector , std::size_t >>
437
440
{};
438
441
439
442
INSTANTIATE_TEST_SUITE_P (
440
443
StatusCodes,
441
444
OtlpGrpcExporterRetryIntegrationTests,
442
445
testing::Values (
443
446
// With retry policy enabled
444
- std::make_tuple (true , std::vector {grpc::StatusCode::CANCELLED}, 5 ),
445
- std::make_tuple(true , std::vector {grpc::StatusCode::UNKNOWN}, 1 ),
446
- std::make_tuple(true , std::vector {grpc::StatusCode::INVALID_ARGUMENT}, 1 ),
447
- std::make_tuple(true , std::vector {grpc::StatusCode::DEADLINE_EXCEEDED}, 5 ),
448
- std::make_tuple(true , std::vector {grpc::StatusCode::NOT_FOUND}, 1 ),
449
- std::make_tuple(true , std::vector {grpc::StatusCode::ALREADY_EXISTS}, 1 ),
450
- std::make_tuple(true , std::vector {grpc::StatusCode::PERMISSION_DENIED}, 1 ),
451
- std::make_tuple(true , std::vector {grpc::StatusCode::UNAUTHENTICATED}, 1 ),
452
- std::make_tuple(true , std::vector {grpc::StatusCode::RESOURCE_EXHAUSTED}, 1 ),
453
- std::make_tuple(true , std::vector {grpc::StatusCode::FAILED_PRECONDITION}, 1 ),
454
- std::make_tuple(true , std::vector {grpc::StatusCode::ABORTED}, 5 ),
455
- std::make_tuple(true , std::vector {grpc::StatusCode::OUT_OF_RANGE}, 5 ),
456
- std::make_tuple(true , std::vector {grpc::StatusCode::UNIMPLEMENTED}, 1 ),
457
- std::make_tuple(true , std::vector {grpc::StatusCode::INTERNAL}, 1 ),
458
- std::make_tuple(true , std::vector {grpc::StatusCode::UNAVAILABLE}, 5 ),
459
- std::make_tuple(true , std::vector {grpc::StatusCode::DATA_LOSS}, 5 ),
460
- std::make_tuple(true , std::vector {grpc::StatusCode::OK}, 1 ),
447
+ std::make_tuple (true , StatusCodeVector {grpc::StatusCode::CANCELLED}, 5 ),
448
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::UNKNOWN}, 1 ),
449
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::INVALID_ARGUMENT}, 1 ),
450
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::DEADLINE_EXCEEDED}, 5 ),
451
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::NOT_FOUND}, 1 ),
452
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::ALREADY_EXISTS}, 1 ),
453
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::PERMISSION_DENIED}, 1 ),
454
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::UNAUTHENTICATED}, 1 ),
455
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::RESOURCE_EXHAUSTED}, 1 ),
456
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::FAILED_PRECONDITION}, 1 ),
457
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::ABORTED}, 5 ),
458
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::OUT_OF_RANGE}, 5 ),
459
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::UNIMPLEMENTED}, 1 ),
460
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::INTERNAL}, 1 ),
461
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::UNAVAILABLE}, 5 ),
462
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::DATA_LOSS}, 5 ),
463
+ std::make_tuple(true , StatusCodeVector {grpc::StatusCode::OK}, 1 ),
461
464
std::make_tuple(true ,
462
- std::vector{grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::ABORTED,
463
- grpc::StatusCode::OUT_OF_RANGE, grpc::StatusCode::DATA_LOSS},
465
+ StatusCodeVector{grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::ABORTED,
466
+ grpc::StatusCode::OUT_OF_RANGE,
467
+ grpc::StatusCode::DATA_LOSS},
464
468
5 ),
465
469
std::make_tuple(true ,
466
- std::vector{grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::UNAVAILABLE,
467
- grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::OK},
470
+ StatusCodeVector{grpc::StatusCode::UNAVAILABLE,
471
+ grpc::StatusCode::UNAVAILABLE,
472
+ grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::OK},
468
473
4 ),
469
474
std::make_tuple(true ,
470
- std::vector {grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::CANCELLED,
471
- grpc::StatusCode::DEADLINE_EXCEEDED, grpc::StatusCode::OK},
475
+ StatusCodeVector {grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::CANCELLED,
476
+ grpc::StatusCode::DEADLINE_EXCEEDED, grpc::StatusCode::OK},
472
477
4 ),
473
478
// With retry policy disabled
474
- std::make_tuple(false , std::vector {grpc::StatusCode::CANCELLED}, 1 ),
475
- std::make_tuple(false , std::vector {grpc::StatusCode::UNKNOWN}, 1 ),
476
- std::make_tuple(false , std::vector {grpc::StatusCode::INVALID_ARGUMENT}, 1 ),
477
- std::make_tuple(false , std::vector {grpc::StatusCode::DEADLINE_EXCEEDED}, 1 ),
478
- std::make_tuple(false , std::vector {grpc::StatusCode::NOT_FOUND}, 1 ),
479
- std::make_tuple(false , std::vector {grpc::StatusCode::ALREADY_EXISTS}, 1 ),
480
- std::make_tuple(false , std::vector {grpc::StatusCode::PERMISSION_DENIED}, 1 ),
481
- std::make_tuple(false , std::vector {grpc::StatusCode::UNAUTHENTICATED}, 1 ),
482
- std::make_tuple(false , std::vector {grpc::StatusCode::RESOURCE_EXHAUSTED}, 1 ),
483
- std::make_tuple(false , std::vector {grpc::StatusCode::FAILED_PRECONDITION}, 1 ),
484
- std::make_tuple(false , std::vector {grpc::StatusCode::ABORTED}, 1 ),
485
- std::make_tuple(false , std::vector {grpc::StatusCode::OUT_OF_RANGE}, 1 ),
486
- std::make_tuple(false , std::vector {grpc::StatusCode::UNIMPLEMENTED}, 1 ),
487
- std::make_tuple(false , std::vector {grpc::StatusCode::INTERNAL}, 1 ),
488
- std::make_tuple(false , std::vector {grpc::StatusCode::UNAVAILABLE}, 1 ),
489
- std::make_tuple(false , std::vector {grpc::StatusCode::DATA_LOSS}, 1 ),
490
- std::make_tuple(false , std::vector {grpc::StatusCode::OK}, 1 ),
479
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::CANCELLED}, 1 ),
480
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::UNKNOWN}, 1 ),
481
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::INVALID_ARGUMENT}, 1 ),
482
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::DEADLINE_EXCEEDED}, 1 ),
483
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::NOT_FOUND}, 1 ),
484
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::ALREADY_EXISTS}, 1 ),
485
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::PERMISSION_DENIED}, 1 ),
486
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::UNAUTHENTICATED}, 1 ),
487
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::RESOURCE_EXHAUSTED}, 1 ),
488
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::FAILED_PRECONDITION}, 1 ),
489
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::ABORTED}, 1 ),
490
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::OUT_OF_RANGE}, 1 ),
491
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::UNIMPLEMENTED}, 1 ),
492
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::INTERNAL}, 1 ),
493
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::UNAVAILABLE}, 1 ),
494
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::DATA_LOSS}, 1 ),
495
+ std::make_tuple(false , StatusCodeVector {grpc::StatusCode::OK}, 1 ),
491
496
std::make_tuple(false ,
492
- std::vector{grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::ABORTED,
493
- grpc::StatusCode::OUT_OF_RANGE, grpc::StatusCode::DATA_LOSS},
497
+ StatusCodeVector{grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::ABORTED,
498
+ grpc::StatusCode::OUT_OF_RANGE,
499
+ grpc::StatusCode::DATA_LOSS},
494
500
1 ),
495
501
std::make_tuple(false ,
496
- std::vector{grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::UNAVAILABLE,
497
- grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::OK},
502
+ StatusCodeVector{grpc::StatusCode::UNAVAILABLE,
503
+ grpc::StatusCode::UNAVAILABLE,
504
+ grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::OK},
498
505
1 ),
499
506
std::make_tuple(false ,
500
- std::vector {grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::CANCELLED,
501
- grpc::StatusCode::DEADLINE_EXCEEDED, grpc::StatusCode::OK},
507
+ StatusCodeVector {grpc::StatusCode::UNAVAILABLE, grpc::StatusCode::CANCELLED,
508
+ grpc::StatusCode::DEADLINE_EXCEEDED, grpc::StatusCode::OK},
502
509
1 )));
503
510
504
511
TEST_P (OtlpGrpcExporterRetryIntegrationTests, StatusCodes)
@@ -513,7 +520,7 @@ TEST_P(OtlpGrpcExporterRetryIntegrationTests, StatusCodes)
513
520
std::unique_ptr<grpc::Server> server;
514
521
515
522
std::thread server_thread ([&server, &service]() {
516
- std::string address (" 0.0.0.0 :4317" );
523
+ std::string address (" localhost :4317" );
517
524
grpc::ServerBuilder builder;
518
525
builder.RegisterService (&service);
519
526
builder.AddListeningPort (address, grpc::InsecureServerCredentials ());
@@ -542,6 +549,7 @@ TEST_P(OtlpGrpcExporterRetryIntegrationTests, StatusCodes)
542
549
auto processor = trace_sdk::SimpleSpanProcessorFactory::Create (std::move (exporter));
543
550
auto provider = trace_sdk::TracerProviderFactory::Create (std::move (processor));
544
551
provider->GetTracer (" Test tracer" )->StartSpan (" Test span" )->End ();
552
+ provider->ForceFlush ();
545
553
546
554
ASSERT_TRUE (server);
547
555
server->Shutdown ();
0 commit comments