diff --git a/MODULE.bazel b/MODULE.bazel index 8370ea5455222..727ad5dc4880c 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -34,7 +34,7 @@ bazel_dep(name = "boringssl", version = "0.20241024.0") bazel_dep(name = "nlohmann_json", version = "3.11.3") bazel_dep(name = "curl", version = "8.8.0.bcr.3") bazel_dep(name = "crc32c", version = "1.1.0") -bazel_dep(name = "opentelemetry-cpp", version = "1.19.0") +bazel_dep(name = "opentelemetry-cpp", version = "1.22.0") bazel_dep(name = "rules_proto", version = "7.1.0") bazel_dep(name = "rules_python", version = "1.6.3") bazel_dep(name = "rules_apple", version = "4.3.2") diff --git a/ci/abi-dumps/google_cloud_cpp_accessapproval.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_accessapproval.expected.abi.dump.gz index 07a2d384d4f5e..31d37899a20ca 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_accessapproval.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_accessapproval.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_accesscontextmanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_accesscontextmanager.expected.abi.dump.gz index 2f53ccd7666e3..f274b7cf35a44 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_accesscontextmanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_accesscontextmanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_advisorynotifications.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_advisorynotifications.expected.abi.dump.gz index c49f6d6d9cf60..bfe386db71758 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_advisorynotifications.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_advisorynotifications.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_aiplatform.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_aiplatform.expected.abi.dump.gz index a256bd21b5f6e..96ec7b0457ffd 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_aiplatform.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_aiplatform.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_alloydb.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_alloydb.expected.abi.dump.gz index eb3e97a9cd012..c8a05b8cea768 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_alloydb.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_alloydb.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_apigateway.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_apigateway.expected.abi.dump.gz index 3cb37d522fd56..7f25d873d69c2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_apigateway.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_apigateway.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_apigeeconnect.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_apigeeconnect.expected.abi.dump.gz index 30b65bebc5de8..5e90563073544 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_apigeeconnect.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_apigeeconnect.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_apikeys.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_apikeys.expected.abi.dump.gz index 49dd19f3f21aa..19eae3da7e586 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_apikeys.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_apikeys.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_appengine.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_appengine.expected.abi.dump.gz index 8dd4f83e842f3..51c3d143349e2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_appengine.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_appengine.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_apphub.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_apphub.expected.abi.dump.gz index 57b8dd7f753ab..9117031e4815a 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_apphub.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_apphub.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_artifactregistry.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_artifactregistry.expected.abi.dump.gz index caddcfe10f49d..ad0de216371b6 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_artifactregistry.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_artifactregistry.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_asset.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_asset.expected.abi.dump.gz index 6d126d96108ba..9e73bd8211d46 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_asset.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_asset.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_assuredworkloads.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_assuredworkloads.expected.abi.dump.gz index e15c41abb111f..0d9570be5dcf6 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_assuredworkloads.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_assuredworkloads.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_automl.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_automl.expected.abi.dump.gz index 912936293e372..1ede31d592856 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_automl.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_automl.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_backupdr.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_backupdr.expected.abi.dump.gz index 9877aff95d740..19a159c406318 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_backupdr.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_backupdr.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_baremetalsolution.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_baremetalsolution.expected.abi.dump.gz index 37ae460f81901..5452022665fb5 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_baremetalsolution.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_baremetalsolution.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_batch.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_batch.expected.abi.dump.gz index 5fcab54823dab..ac865acad199e 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_batch.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_batch.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_beyondcorp.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_beyondcorp.expected.abi.dump.gz index ec05d2cddd1f6..82d5a60ba9a0b 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_beyondcorp.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_beyondcorp.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_bigquery.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_bigquery.expected.abi.dump.gz index 74bdb5ec31600..71685000a3e50 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_bigquery.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_bigquery.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_bigquerycontrol.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_bigquerycontrol.expected.abi.dump.gz index 36da80412f1c7..dcb2696fa3cd6 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_bigquerycontrol.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_bigquerycontrol.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_bigtable.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_bigtable.expected.abi.dump.gz index 34d196050626a..d487e8196528b 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_bigtable.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_bigtable.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_billing.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_billing.expected.abi.dump.gz index d0774ecf3f732..e00044a3cc6a2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_billing.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_billing.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_binaryauthorization.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_binaryauthorization.expected.abi.dump.gz index 5a486669151f0..a42b4223844d0 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_binaryauthorization.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_binaryauthorization.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_certificatemanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_certificatemanager.expected.abi.dump.gz index 88b1176e2034a..204f4206151ac 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_certificatemanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_certificatemanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_channel.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_channel.expected.abi.dump.gz index 89e1294269db7..3567db877fa97 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_channel.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_channel.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_chronicle.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_chronicle.expected.abi.dump.gz index e7649d96854a7..c1219c8f1b340 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_chronicle.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_chronicle.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_cloudbuild.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_cloudbuild.expected.abi.dump.gz index 206bb33092f1b..49c16a573ee6c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_cloudbuild.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_cloudbuild.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_cloudcontrolspartner.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_cloudcontrolspartner.expected.abi.dump.gz index 794c2212dea8d..9760082b34ba5 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_cloudcontrolspartner.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_cloudcontrolspartner.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_cloudquotas.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_cloudquotas.expected.abi.dump.gz index 0178df430e47a..3f4a3ebb092c7 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_cloudquotas.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_cloudquotas.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_cloudsecuritycompliance.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_cloudsecuritycompliance.expected.abi.dump.gz index 151351c9cc58f..0b51af3e56788 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_cloudsecuritycompliance.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_cloudsecuritycompliance.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_commerce.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_commerce.expected.abi.dump.gz index 155e75366041d..30d5f84f6e83f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_commerce.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_commerce.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_common.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_common.expected.abi.dump.gz index f60128f462374..d78ffac636c55 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_common.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_common.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_composer.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_composer.expected.abi.dump.gz index b219f2095a275..8b52cb8c2a090 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_composer.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_composer.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_accelerator_types.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_accelerator_types.expected.abi.dump.gz index f5886c363edc7..f3731ae1118eb 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_accelerator_types.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_accelerator_types.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_addresses.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_addresses.expected.abi.dump.gz index b4ef7e447cfd4..d58e63632ae47 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_addresses.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_addresses.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_autoscalers.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_autoscalers.expected.abi.dump.gz index a69932922970f..373991f4f4e1b 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_autoscalers.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_autoscalers.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_backend_buckets.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_backend_buckets.expected.abi.dump.gz index 6b3e77b44a6eb..8c33c60ee57e7 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_backend_buckets.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_backend_buckets.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_backend_services.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_backend_services.expected.abi.dump.gz index 2ef286def64a2..7dfa9d8145f72 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_backend_services.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_backend_services.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_disk_types.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_disk_types.expected.abi.dump.gz index c10483080b00f..204de3772b7f2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_disk_types.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_disk_types.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_disks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_disks.expected.abi.dump.gz index 941fe49973ea4..49f7660602736 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_disks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_disks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_external_vpn_gateways.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_external_vpn_gateways.expected.abi.dump.gz index 05fa40ec72a5f..01e27ee298945 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_external_vpn_gateways.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_external_vpn_gateways.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_firewall_policies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_firewall_policies.expected.abi.dump.gz index c316290d47f9b..6f1a3a3f8c1e7 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_firewall_policies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_firewall_policies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_firewalls.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_firewalls.expected.abi.dump.gz index c70ecbcc803e3..8215b9651a2bd 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_firewalls.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_firewalls.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_forwarding_rules.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_forwarding_rules.expected.abi.dump.gz index bb37485beee17..d5a6a2afd6db2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_forwarding_rules.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_forwarding_rules.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_global_addresses.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_global_addresses.expected.abi.dump.gz index ea6b189748d30..b1cc2416980bc 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_global_addresses.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_global_addresses.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_global_forwarding_rules.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_global_forwarding_rules.expected.abi.dump.gz index 1e41f11eea00f..12d2b8f39ea91 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_global_forwarding_rules.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_global_forwarding_rules.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_global_network_endpoint_groups.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_global_network_endpoint_groups.expected.abi.dump.gz index 246b96ecdcdf0..e09b81d6b36ff 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_global_network_endpoint_groups.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_global_network_endpoint_groups.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_global_operations.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_global_operations.expected.abi.dump.gz index 8fbbb676b4f26..6c40a11ac2678 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_global_operations.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_global_operations.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_global_organization_operations.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_global_organization_operations.expected.abi.dump.gz index e15de252800d2..dbb0c246b90be 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_global_organization_operations.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_global_organization_operations.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_global_public_delegated_prefixes.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_global_public_delegated_prefixes.expected.abi.dump.gz index 932f98bc05f62..3de10787c1318 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_global_public_delegated_prefixes.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_global_public_delegated_prefixes.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_health_checks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_health_checks.expected.abi.dump.gz index 0533da9e6c6cc..dcbdd68f600b4 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_health_checks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_health_checks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_http_health_checks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_http_health_checks.expected.abi.dump.gz index 8bc84e76b011a..f270c2c07c495 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_http_health_checks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_http_health_checks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_https_health_checks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_https_health_checks.expected.abi.dump.gz index 3b6aff2a541e7..66b3ad813babf 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_https_health_checks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_https_health_checks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_image_family_views.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_image_family_views.expected.abi.dump.gz index 73c5c69eb5ca4..54a38680b2d83 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_image_family_views.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_image_family_views.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_images.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_images.expected.abi.dump.gz index ee183c69b2bf1..2f102a66c8ab1 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_images.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_images.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_instance_group_managers.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_instance_group_managers.expected.abi.dump.gz index f2d9f3ef25433..815748a527a42 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_instance_group_managers.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_instance_group_managers.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_instance_groups.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_instance_groups.expected.abi.dump.gz index 4513707c91437..1c8d61519d785 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_instance_groups.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_instance_groups.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_instance_templates.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_instance_templates.expected.abi.dump.gz index 7d9afe67568d9..7c78829a68e97 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_instance_templates.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_instance_templates.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_instances.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_instances.expected.abi.dump.gz index 58b1f92d27779..0945d25d573f4 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_instances.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_instances.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_interconnect_attachments.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_interconnect_attachments.expected.abi.dump.gz index b9c03bacf864b..a3762ddd15eba 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_interconnect_attachments.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_interconnect_attachments.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_interconnect_locations.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_interconnect_locations.expected.abi.dump.gz index 4221a9e22e8f5..8cf3b598fe255 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_interconnect_locations.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_interconnect_locations.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_interconnects.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_interconnects.expected.abi.dump.gz index 73495f42b60dc..95cc0be35a69f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_interconnects.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_interconnects.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_license_codes.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_license_codes.expected.abi.dump.gz index 8a47d9bc9cd04..d6b57db726607 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_license_codes.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_license_codes.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_licenses.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_licenses.expected.abi.dump.gz index 6aa18d1bb3bcb..849cf60ca9944 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_licenses.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_licenses.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_machine_images.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_machine_images.expected.abi.dump.gz index bfd3fe72129c0..d0de6dfe01e48 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_machine_images.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_machine_images.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_machine_types.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_machine_types.expected.abi.dump.gz index 905518ec61e93..5ba451f795ca4 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_machine_types.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_machine_types.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_network_attachments.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_network_attachments.expected.abi.dump.gz index d303bd12e644f..9c3eeb67c881d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_network_attachments.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_network_attachments.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_network_edge_security_services.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_network_edge_security_services.expected.abi.dump.gz index 7a2df3c621560..419b08fbcc58c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_network_edge_security_services.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_network_edge_security_services.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_network_endpoint_groups.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_network_endpoint_groups.expected.abi.dump.gz index dc16a8e09ab5b..ad82d54769ed2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_network_endpoint_groups.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_network_endpoint_groups.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_network_firewall_policies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_network_firewall_policies.expected.abi.dump.gz index c8a58bc87f467..2cceebd43e7f3 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_network_firewall_policies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_network_firewall_policies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_networks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_networks.expected.abi.dump.gz index c1f1803627f43..1213819203883 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_networks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_networks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_node_groups.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_node_groups.expected.abi.dump.gz index 0383c3c360f20..26c39364cf605 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_node_groups.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_node_groups.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_node_templates.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_node_templates.expected.abi.dump.gz index 3d30d265f6f0c..49c831e876411 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_node_templates.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_node_templates.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_node_types.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_node_types.expected.abi.dump.gz index 2b87cd388d0aa..2db724deab877 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_node_types.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_node_types.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_packet_mirrorings.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_packet_mirrorings.expected.abi.dump.gz index d220d76e8fcff..65b4e88435506 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_packet_mirrorings.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_packet_mirrorings.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_projects.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_projects.expected.abi.dump.gz index 3c7d8212c0db7..847df935b44ef 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_projects.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_projects.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_public_advertised_prefixes.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_public_advertised_prefixes.expected.abi.dump.gz index 4a274d2de038c..3dbac71abc147 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_public_advertised_prefixes.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_public_advertised_prefixes.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_public_delegated_prefixes.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_public_delegated_prefixes.expected.abi.dump.gz index 96c1348aeaa69..f667ed660eac5 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_public_delegated_prefixes.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_public_delegated_prefixes.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_autoscalers.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_autoscalers.expected.abi.dump.gz index 65320e79bd512..03460aa1eae86 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_autoscalers.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_autoscalers.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_backend_services.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_backend_services.expected.abi.dump.gz index 520b86c2c5a10..53cfa2b5ffa4a 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_backend_services.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_backend_services.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_commitments.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_commitments.expected.abi.dump.gz index 571b36bb9d32b..c8ecb5dacbc82 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_commitments.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_commitments.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_disk_types.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_disk_types.expected.abi.dump.gz index 3e7dda5174ae5..648a20c8bb6b9 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_disk_types.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_disk_types.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_disks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_disks.expected.abi.dump.gz index fc8cd34ec2177..8e7ad83bac682 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_disks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_disks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_health_check_services.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_health_check_services.expected.abi.dump.gz index 024988f46948f..169ae479c96ba 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_health_check_services.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_health_check_services.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_health_checks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_health_checks.expected.abi.dump.gz index 6977f6a29866d..f7afe84beeae4 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_health_checks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_health_checks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_instance_group_managers.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_instance_group_managers.expected.abi.dump.gz index 0d9b49e2c15ed..65bd41a8747dd 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_instance_group_managers.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_instance_group_managers.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_instance_groups.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_instance_groups.expected.abi.dump.gz index d3c177e97eb85..045c899bf36c7 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_instance_groups.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_instance_groups.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_instance_templates.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_instance_templates.expected.abi.dump.gz index d6fad102dba4a..1bec18e174eab 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_instance_templates.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_instance_templates.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_instances.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_instances.expected.abi.dump.gz index e61968c28a559..ab75548a01f96 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_instances.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_instances.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_network_endpoint_groups.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_network_endpoint_groups.expected.abi.dump.gz index 6b89b12c498d3..ee17583d8453c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_network_endpoint_groups.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_network_endpoint_groups.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_network_firewall_policies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_network_firewall_policies.expected.abi.dump.gz index 0edbffb3203f4..88e8de6692f58 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_network_firewall_policies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_network_firewall_policies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_notification_endpoints.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_notification_endpoints.expected.abi.dump.gz index 19b3b296df76a..11c6f9fe893f0 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_notification_endpoints.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_notification_endpoints.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_operations.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_operations.expected.abi.dump.gz index 7263af8f2c3b8..f57dc882512aa 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_operations.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_operations.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_security_policies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_security_policies.expected.abi.dump.gz index e05bdce6baaaa..8564d03e0a5cf 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_security_policies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_security_policies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_region_ssl_certificates.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_region_ssl_certificates.expected.abi.dump.gz index e2c757b0423a5..6b4d3378c098d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_region_ssl_certificates.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_region_ssl_certificates.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_ssl_policies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_ssl_policies.expected.abi.dump.gz index 43e069d4a1ba0..1848b71456c67 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_ssl_policies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_ssl_policies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_subnetworks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_subnetworks.expected.abi.dump.gz index 37546a12f6f74..89e1eba5c46ff 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_subnetworks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_subnetworks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_grpc_proxies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_grpc_proxies.expected.abi.dump.gz index 4cd2d859a033f..fceb9a7f96d82 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_grpc_proxies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_grpc_proxies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_http_proxies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_http_proxies.expected.abi.dump.gz index cbf73a936eec6..d3429d7c97553 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_http_proxies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_http_proxies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_https_proxies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_https_proxies.expected.abi.dump.gz index 08d72688eb449..97dc9436e0602 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_https_proxies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_https_proxies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_instances.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_instances.expected.abi.dump.gz index 3ffa2fe5eff20..ab45098a56bca 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_instances.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_instances.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_pools.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_pools.expected.abi.dump.gz index 5b1bfdcfd9d45..8e04b01a89a2f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_pools.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_pools.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_ssl_proxies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_ssl_proxies.expected.abi.dump.gz index 1de1f4c683c18..457d4b5db84e6 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_ssl_proxies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_ssl_proxies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_tcp_proxies.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_tcp_proxies.expected.abi.dump.gz index 4ef4cc6dac76e..1c29062b06772 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_tcp_proxies.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_tcp_proxies.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_target_vpn_gateways.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_target_vpn_gateways.expected.abi.dump.gz index a074056584433..faa60aeadf8f9 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_target_vpn_gateways.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_target_vpn_gateways.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_url_maps.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_url_maps.expected.abi.dump.gz index 1af3b72578164..6f405566dea7c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_url_maps.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_url_maps.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_vpn_gateways.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_vpn_gateways.expected.abi.dump.gz index 80ee8260be61b..80896354478bc 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_vpn_gateways.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_vpn_gateways.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_vpn_tunnels.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_vpn_tunnels.expected.abi.dump.gz index d8d5b12dda7e4..d78cb8b92e1a8 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_vpn_tunnels.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_vpn_tunnels.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_zone_operations.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_zone_operations.expected.abi.dump.gz index bbc0251b0253e..2fbb9dcdd49ac 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_zone_operations.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_zone_operations.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_compute_zones.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_compute_zones.expected.abi.dump.gz index 8430bab8c76de..896d72e992b28 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_compute_zones.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_compute_zones.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_confidentialcomputing.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_confidentialcomputing.expected.abi.dump.gz index 8a2b45ed7838d..4df97a2f3f531 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_confidentialcomputing.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_confidentialcomputing.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_config.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_config.expected.abi.dump.gz index 3a20250887f8b..068ee6d54ee4d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_config.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_config.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_configdelivery.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_configdelivery.expected.abi.dump.gz index 1b960eb05ee58..5faa3b342eebb 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_configdelivery.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_configdelivery.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_connectors.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_connectors.expected.abi.dump.gz index fc043d774394a..e2335350d8b8f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_connectors.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_connectors.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_contactcenterinsights.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_contactcenterinsights.expected.abi.dump.gz index 0f3f07382cabf..3c7358c703c37 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_contactcenterinsights.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_contactcenterinsights.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_container.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_container.expected.abi.dump.gz index e81420016da69..779774e2e058d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_container.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_container.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_containeranalysis.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_containeranalysis.expected.abi.dump.gz index 77fd9e9214256..487fdc8aa4f57 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_containeranalysis.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_containeranalysis.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_contentwarehouse.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_contentwarehouse.expected.abi.dump.gz index 49302a8d0813a..09a4cdc781e3f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_contentwarehouse.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_contentwarehouse.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_datacatalog.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_datacatalog.expected.abi.dump.gz index b6c9fb05a2f67..b285ca8cca2a0 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_datacatalog.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_datacatalog.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_dataform.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_dataform.expected.abi.dump.gz index d45e0b6d0498e..1c078aefd987e 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_dataform.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_dataform.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_datafusion.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_datafusion.expected.abi.dump.gz index 73784e74c6612..8009e01587c96 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_datafusion.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_datafusion.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_datamigration.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_datamigration.expected.abi.dump.gz index 399cc603b96dc..7b44dbbbdffb8 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_datamigration.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_datamigration.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_dataplex.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_dataplex.expected.abi.dump.gz index 76cb8c7392def..dd4fdeddc1769 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_dataplex.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_dataplex.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_dataproc.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_dataproc.expected.abi.dump.gz index c4ae6cdbe732a..52cd881ea2a61 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_dataproc.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_dataproc.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_datastore.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_datastore.expected.abi.dump.gz index 1b672b2110445..06ca84b3b009c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_datastore.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_datastore.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_datastream.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_datastream.expected.abi.dump.gz index 4e00d6e738cb5..10ba7e6aaa611 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_datastream.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_datastream.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_deploy.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_deploy.expected.abi.dump.gz index 0716c160460df..e4c0262402bf1 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_deploy.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_deploy.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_developerconnect.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_developerconnect.expected.abi.dump.gz index 408ede0b50fc2..4912172fee2aa 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_developerconnect.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_developerconnect.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_devicestreaming.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_devicestreaming.expected.abi.dump.gz index f7d477d3fae44..4589c63f8a99f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_devicestreaming.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_devicestreaming.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_dialogflow_cx.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_dialogflow_cx.expected.abi.dump.gz index b1fb25be071d5..9fcac4b5ab8da 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_dialogflow_cx.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_dialogflow_cx.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_dialogflow_es.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_dialogflow_es.expected.abi.dump.gz index 2270bac16adbe..8060af0f0aabf 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_dialogflow_es.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_dialogflow_es.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_discoveryengine.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_discoveryengine.expected.abi.dump.gz index 68df0a33c0009..5b70da01b05ee 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_discoveryengine.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_discoveryengine.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_dlp.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_dlp.expected.abi.dump.gz index 7d0e3fe9de6bd..7f7efbe54e7cf 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_dlp.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_dlp.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_documentai.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_documentai.expected.abi.dump.gz index 09ca02f3af7f6..37a28631f2d68 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_documentai.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_documentai.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_domains.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_domains.expected.abi.dump.gz index ba0d907df2990..0a826eedd8fe9 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_domains.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_domains.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_edgecontainer.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_edgecontainer.expected.abi.dump.gz index 8c610dd19edd1..b8bd5a6d2aaf6 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_edgecontainer.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_edgecontainer.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_edgenetwork.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_edgenetwork.expected.abi.dump.gz index 8b9897adb3db7..b75a65413bc13 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_edgenetwork.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_edgenetwork.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_essentialcontacts.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_essentialcontacts.expected.abi.dump.gz index 6558accb767b1..6d845bb89739d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_essentialcontacts.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_essentialcontacts.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_eventarc.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_eventarc.expected.abi.dump.gz index 5738e737c10cf..8b4b7343ca36d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_eventarc.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_eventarc.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_filestore.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_filestore.expected.abi.dump.gz index 68565ce800176..d5f4ed3b007e8 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_filestore.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_filestore.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_financialservices.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_financialservices.expected.abi.dump.gz index 73f049a3043c7..198aaf054703c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_financialservices.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_financialservices.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_functions.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_functions.expected.abi.dump.gz index bb118678f0872..47f8f84342a1f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_functions.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_functions.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_gkebackup.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_gkebackup.expected.abi.dump.gz index 1cadc0bded0be..522254e22f3ae 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_gkebackup.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_gkebackup.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_gkeconnect.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_gkeconnect.expected.abi.dump.gz index 87ef0a91532d9..f00714c65810d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_gkeconnect.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_gkeconnect.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_gkehub.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_gkehub.expected.abi.dump.gz index c2a46006dc30e..de72ded6fb528 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_gkehub.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_gkehub.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_gkemulticloud.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_gkemulticloud.expected.abi.dump.gz index 372236338a456..4ff0e6da1e11e 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_gkemulticloud.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_gkemulticloud.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_grpc_utils.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_grpc_utils.expected.abi.dump.gz index 8be0ddb350359..30ead50cb264b 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_grpc_utils.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_grpc_utils.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_iam.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_iam.expected.abi.dump.gz index 907c57a867be4..0a947a2d5c761 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_iam.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_iam.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_iap.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_iap.expected.abi.dump.gz index 90d614090007c..812b32fe98717 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_iap.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_iap.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_ids.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_ids.expected.abi.dump.gz index 8e678f852c60f..bfef74569dc8a 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_ids.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_ids.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_kms.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_kms.expected.abi.dump.gz index f18c466190b3c..c1710595dbdd2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_kms.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_kms.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_language.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_language.expected.abi.dump.gz index 799a16dd26be7..50087c6219ecb 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_language.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_language.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_licensemanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_licensemanager.expected.abi.dump.gz index 7902e973f6ee3..ec3105c8fe6c6 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_licensemanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_licensemanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_logging.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_logging.expected.abi.dump.gz index e6240bb7fddd3..3d27b4cb2744c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_logging.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_logging.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_lustre.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_lustre.expected.abi.dump.gz index d0e8a8d48c507..ef034c9a316fc 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_lustre.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_lustre.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_managedidentities.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_managedidentities.expected.abi.dump.gz index 3db2188da5780..e7535dad51f99 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_managedidentities.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_managedidentities.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_managedkafka.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_managedkafka.expected.abi.dump.gz index 46d49959886c2..0d17f7d91178a 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_managedkafka.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_managedkafka.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_memcache.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_memcache.expected.abi.dump.gz index da6b0a8cfe338..84f4c10ebaa11 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_memcache.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_memcache.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_memorystore.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_memorystore.expected.abi.dump.gz index ab1461ad164d1..f17d0f8e7e36e 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_memorystore.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_memorystore.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_metastore.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_metastore.expected.abi.dump.gz index 0450ad09adcb7..ea311834fd25a 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_metastore.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_metastore.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_migrationcenter.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_migrationcenter.expected.abi.dump.gz index 30cedfe34cd1a..c7ae86b8231f8 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_migrationcenter.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_migrationcenter.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_monitoring.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_monitoring.expected.abi.dump.gz index 7d5248f42c1db..4d15847793c76 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_monitoring.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_monitoring.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_netapp.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_netapp.expected.abi.dump.gz index e0dbd278c01cf..4cfdc8ceee482 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_netapp.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_netapp.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_networkconnectivity.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_networkconnectivity.expected.abi.dump.gz index cdcb24707d765..bbe71bdcbe3f7 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_networkconnectivity.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_networkconnectivity.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_networkmanagement.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_networkmanagement.expected.abi.dump.gz index 7f816ad89c86d..0c7459f555fe4 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_networkmanagement.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_networkmanagement.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_networksecurity.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_networksecurity.expected.abi.dump.gz index 118baede5a673..500028b05c10a 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_networksecurity.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_networksecurity.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_networkservices.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_networkservices.expected.abi.dump.gz index f211814918509..2d3a3e3de7ab5 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_networkservices.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_networkservices.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_notebooks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_notebooks.expected.abi.dump.gz index b0c001fcad817..8bcbd5cfe6ce7 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_notebooks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_notebooks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_oauth2.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_oauth2.expected.abi.dump.gz index 81ed73096b74e..c871f480283ea 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_oauth2.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_oauth2.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_opentelemetry.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_opentelemetry.expected.abi.dump.gz index e5e76cf6d937a..ea7828837e6b4 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_opentelemetry.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_opentelemetry.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_optimization.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_optimization.expected.abi.dump.gz index a94c2bf79722f..83407a819fd87 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_optimization.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_optimization.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_oracledatabase.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_oracledatabase.expected.abi.dump.gz index 8925606897011..10990894bccc6 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_oracledatabase.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_oracledatabase.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_orgpolicy.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_orgpolicy.expected.abi.dump.gz index c2b0e68ad094f..a4dd5561f6f53 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_orgpolicy.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_orgpolicy.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_osconfig.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_osconfig.expected.abi.dump.gz index 8602a3b403eed..f484c373e239a 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_osconfig.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_osconfig.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_oslogin.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_oslogin.expected.abi.dump.gz index f3285964bc427..541517fc54265 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_oslogin.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_oslogin.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_parallelstore.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_parallelstore.expected.abi.dump.gz index 7c3ccf25542e1..d8fe738b80e4e 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_parallelstore.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_parallelstore.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_parametermanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_parametermanager.expected.abi.dump.gz index 5c1312f03ffff..06870296fb3a2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_parametermanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_parametermanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_policysimulator.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_policysimulator.expected.abi.dump.gz index d84fbf8cf70cb..4d3a25770af54 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_policysimulator.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_policysimulator.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_policytroubleshooter.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_policytroubleshooter.expected.abi.dump.gz index 1896b3a5a4dbd..3f8ae30c9ef75 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_policytroubleshooter.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_policytroubleshooter.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_privateca.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_privateca.expected.abi.dump.gz index 7059ebe5d264f..ab28dd6c3e0a5 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_privateca.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_privateca.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_privilegedaccessmanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_privilegedaccessmanager.expected.abi.dump.gz index ad255a8cf4cd8..4974305a82f01 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_privilegedaccessmanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_privilegedaccessmanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_profiler.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_profiler.expected.abi.dump.gz index a602889d7f536..baaa11eecd535 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_profiler.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_profiler.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_publicca.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_publicca.expected.abi.dump.gz index c856bbda50000..a9af1ef08935e 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_publicca.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_publicca.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_pubsub.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_pubsub.expected.abi.dump.gz index ef11f500c9ba9..11c0e04bebbda 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_pubsub.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_pubsub.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_rapidmigrationassessment.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_rapidmigrationassessment.expected.abi.dump.gz index bd4dc992307b8..676d3cf147889 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_rapidmigrationassessment.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_rapidmigrationassessment.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_recaptchaenterprise.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_recaptchaenterprise.expected.abi.dump.gz index aff2d9ae8cd23..e2b557b17db79 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_recaptchaenterprise.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_recaptchaenterprise.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_recommender.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_recommender.expected.abi.dump.gz index 1bdb6a56eab0e..7d13be8494e24 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_recommender.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_recommender.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_redis.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_redis.expected.abi.dump.gz index c60522d9ccae2..f1b763424b6f0 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_redis.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_redis.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_resourcemanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_resourcemanager.expected.abi.dump.gz index 9a88879752f9a..fbc4ea6c09391 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_resourcemanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_resourcemanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_retail.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_retail.expected.abi.dump.gz index d2060d87c7c07..25d4a7731a314 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_retail.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_retail.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_run.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_run.expected.abi.dump.gz index 3976f04784b11..9147a45471fe4 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_run.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_run.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_scheduler.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_scheduler.expected.abi.dump.gz index 15040105a5db0..ee44b416fbbe2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_scheduler.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_scheduler.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_secretmanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_secretmanager.expected.abi.dump.gz index 2d488e18c1e17..57a869b5701be 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_secretmanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_secretmanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_securesourcemanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_securesourcemanager.expected.abi.dump.gz index cb7c7080e78c2..20454399e9773 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_securesourcemanager.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_securesourcemanager.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_securitycenter.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_securitycenter.expected.abi.dump.gz index bf90634bec8ef..b069d3a5f8522 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_securitycenter.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_securitycenter.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_securitycentermanagement.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_securitycentermanagement.expected.abi.dump.gz index 10e65aa2340e0..b315a093e2693 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_securitycentermanagement.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_securitycentermanagement.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_servicecontrol.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_servicecontrol.expected.abi.dump.gz index e4dae97b10f32..e7a6dfad22cf9 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_servicecontrol.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_servicecontrol.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_servicedirectory.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_servicedirectory.expected.abi.dump.gz index db3765d52bcdd..e2e1055f79199 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_servicedirectory.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_servicedirectory.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_servicehealth.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_servicehealth.expected.abi.dump.gz index 4832cf72e3cb4..d5dfd0890d38b 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_servicehealth.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_servicehealth.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_servicemanagement.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_servicemanagement.expected.abi.dump.gz index b9953fe2e229a..3906651032d88 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_servicemanagement.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_servicemanagement.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_serviceusage.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_serviceusage.expected.abi.dump.gz index 7d2da69733a51..421485e74a15e 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_serviceusage.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_serviceusage.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_shell.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_shell.expected.abi.dump.gz index 4e320d5ce3c0a..f2cc3d73d51c3 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_shell.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_shell.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_spanner.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_spanner.expected.abi.dump.gz index dea757a9c6eca..0236da3c16bbf 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_spanner.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_spanner.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_speech.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_speech.expected.abi.dump.gz index ffd559df47b14..4cb1a8f3cce98 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_speech.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_speech.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_sql.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_sql.expected.abi.dump.gz index c880227f2ca4b..d613e5a9991df 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_sql.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_sql.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz index 5a5a7d4a290b5..219299c31b6ff 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz index 7043f775cbfb3..6b72ea750776c 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_storagebatchoperations.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storagebatchoperations.expected.abi.dump.gz index 2a280a9c1abc7..244bf989845a3 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storagebatchoperations.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storagebatchoperations.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_storagecontrol.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storagecontrol.expected.abi.dump.gz index bbbee19ca2b59..81faec247fc97 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storagecontrol.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storagecontrol.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_storageinsights.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storageinsights.expected.abi.dump.gz index 5325c6853d03f..4c7f3ff1bbb20 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storageinsights.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storageinsights.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_storagetransfer.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storagetransfer.expected.abi.dump.gz index 6dc3c84e4e060..4172863e625e2 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storagetransfer.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storagetransfer.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_support.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_support.expected.abi.dump.gz index f12d7cd6b68ea..c76355c49ff31 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_support.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_support.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_talent.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_talent.expected.abi.dump.gz index 952fba3845295..acb939909e62f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_talent.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_talent.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_tasks.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_tasks.expected.abi.dump.gz index 6347ac7b65204..73f192325c62b 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_tasks.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_tasks.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_telcoautomation.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_telcoautomation.expected.abi.dump.gz index b48842e4401f9..7d3f5a2545264 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_telcoautomation.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_telcoautomation.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_texttospeech.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_texttospeech.expected.abi.dump.gz index bf561f6451818..163b8749da4fd 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_texttospeech.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_texttospeech.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_timeseriesinsights.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_timeseriesinsights.expected.abi.dump.gz index a8c6a7638e1bb..aa30f8ad2abf7 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_timeseriesinsights.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_timeseriesinsights.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_tpu.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_tpu.expected.abi.dump.gz index 451c02942440c..da4189b74b158 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_tpu.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_tpu.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_trace.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_trace.expected.abi.dump.gz index 179fe2481fb60..00a368553a94f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_trace.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_trace.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_translate.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_translate.expected.abi.dump.gz index 4b0a7af2a89af..00ff1c35ffb71 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_translate.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_translate.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_universe_domain.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_universe_domain.expected.abi.dump.gz index 8fa9a9542e884..ef775f4238c53 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_universe_domain.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_universe_domain.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_video.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_video.expected.abi.dump.gz index 65e48571845cc..3fa535bcba701 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_video.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_video.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_videointelligence.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_videointelligence.expected.abi.dump.gz index 6b12bbdff6e94..a3e679a90355f 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_videointelligence.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_videointelligence.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_vision.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_vision.expected.abi.dump.gz index ed034276e2f16..7f562d88494ee 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_vision.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_vision.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_vmmigration.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_vmmigration.expected.abi.dump.gz index 3edf12e41e1d7..5a57d8125f062 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_vmmigration.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_vmmigration.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_vmwareengine.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_vmwareengine.expected.abi.dump.gz index 4120a0a296aa3..e5518247776ba 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_vmwareengine.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_vmwareengine.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_vpcaccess.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_vpcaccess.expected.abi.dump.gz index 66cd8f22a19c5..93d25a466f7a3 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_vpcaccess.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_vpcaccess.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_webrisk.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_webrisk.expected.abi.dump.gz index aacc870ca4624..1c0ffae488298 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_webrisk.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_webrisk.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_websecurityscanner.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_websecurityscanner.expected.abi.dump.gz index ba62ab1cf5e84..f490d69fb677b 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_websecurityscanner.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_websecurityscanner.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_workflows.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_workflows.expected.abi.dump.gz index 4284b3e424bab..c911b8326bcd1 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_workflows.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_workflows.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_workstations.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_workstations.expected.abi.dump.gz index 1ed4342ba96ab..70ed727746b59 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_workstations.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_workstations.expected.abi.dump.gz differ diff --git a/ci/cloudbuild/dockerfiles/demo-alpine-stable.Dockerfile b/ci/cloudbuild/dockerfiles/demo-alpine-stable.Dockerfile index bc52b4588241a..d44f692b2e6ec 100644 --- a/ci/cloudbuild/dockerfiles/demo-alpine-stable.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-alpine-stable.Dockerfile @@ -71,15 +71,14 @@ RUN apk update && \ # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/demo-debian-bookworm.Dockerfile b/ci/cloudbuild/dockerfiles/demo-debian-bookworm.Dockerfile index 124e0931d5f0f..455d92477e843 100644 --- a/ci/cloudbuild/dockerfiles/demo-debian-bookworm.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-debian-bookworm.Dockerfile @@ -88,15 +88,14 @@ RUN curl -fsSL https://github.com/google/crc32c/archive/1.1.2.tar.gz | \ # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/demo-debian-bullseye.Dockerfile b/ci/cloudbuild/dockerfiles/demo-debian-bullseye.Dockerfile index 5a644ce47d319..d6ae0eaf807a1 100644 --- a/ci/cloudbuild/dockerfiles/demo-debian-bullseye.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-debian-bullseye.Dockerfile @@ -123,8 +123,6 @@ RUN curl -fsSL https://github.com/google/re2/archive/2025-07-22.tar.gz | \ # #### gRPC -# Finally, we build gRPC from source: - # ```bash WORKDIR /var/tmp/build/grpc RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.74.1.tar.gz | \ @@ -155,15 +153,14 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.74.1.tar.gz | \ # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile b/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile index 6b4b73597be00..75732c47670e1 100644 --- a/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile @@ -79,15 +79,14 @@ ENV PKG_CONFIG_PATH=/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/local/l # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/demo-opensuse-leap.Dockerfile b/ci/cloudbuild/dockerfiles/demo-opensuse-leap.Dockerfile index aefda64d94535..8292f720ef64b 100644 --- a/ci/cloudbuild/dockerfiles/demo-opensuse-leap.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-opensuse-leap.Dockerfile @@ -27,7 +27,7 @@ ARG NCPU=4 # ```bash RUN zypper refresh && \ zypper install --allow-downgrade -y automake cmake curl \ - gcc gcc-c++ gcc8 gcc8-c++ git gzip libtool make patch tar wget + gcc8 gcc8-c++ git gzip libtool make patch tar wget # ``` # Install some of the dependencies for `google-cloud-cpp`. @@ -50,24 +50,25 @@ ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig ENV PATH=/usr/local/bin:${PATH} # ``` +# Use the following environment variables to configure the compiler used by +# CMake. +ENV CC=gcc-8 +ENV CXX=g++-8 + # #### opentelemetry-cpp -# The project has an **optional** dependency on the OpenTelemetry library. -# We recommend installing this library because: -# - the dependency will become required in the google-cloud-cpp v3.x series. -# - it is needed to produce distributed traces of the library. +# The project has a dependency on the OpenTelemetry library. # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -76,13 +77,6 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20 ldconfig # ``` -# Use the following environment variables to configure the compiler used by -# CMake. - -ENV CXX=g++-8 - -ENV CC=gcc-8 - ## [DONE packaging.md] WORKDIR /var/tmp/sccache diff --git a/ci/cloudbuild/dockerfiles/demo-rockylinux-9.Dockerfile b/ci/cloudbuild/dockerfiles/demo-rockylinux-9.Dockerfile index 0e0b9a28cd4c8..dd3c0961162f1 100644 --- a/ci/cloudbuild/dockerfiles/demo-rockylinux-9.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-rockylinux-9.Dockerfile @@ -201,15 +201,14 @@ RUN curl -fsSL https://github.com/nlohmann/json/archive/v3.11.3.tar.gz | \ # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/demo-ubuntu-24.04.Dockerfile b/ci/cloudbuild/dockerfiles/demo-ubuntu-24.04.Dockerfile index 8f14cae6f71fd..e1ba30a90e3fe 100644 --- a/ci/cloudbuild/dockerfiles/demo-ubuntu-24.04.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-ubuntu-24.04.Dockerfile @@ -93,14 +93,13 @@ RUN curl -fsSL https://github.com/google/crc32c/archive/1.1.2.tar.gz | \ # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/demo-ubuntu-focal.Dockerfile b/ci/cloudbuild/dockerfiles/demo-ubuntu-focal.Dockerfile index 6176f44c2a24c..a22d83f75bdd0 100644 --- a/ci/cloudbuild/dockerfiles/demo-ubuntu-focal.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-ubuntu-focal.Dockerfile @@ -168,15 +168,14 @@ RUN curl -fsSL https://github.com/nlohmann/json/archive/v3.11.3.tar.gz | \ # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/demo-ubuntu-jammy.Dockerfile b/ci/cloudbuild/dockerfiles/demo-ubuntu-jammy.Dockerfile index c9910b24e52ed..b977fc72ab615 100644 --- a/ci/cloudbuild/dockerfiles/demo-ubuntu-jammy.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-ubuntu-jammy.Dockerfile @@ -149,15 +149,14 @@ RUN curl -fsSL https://github.com/nlohmann/json/archive/v3.11.3.tar.gz | \ # ```bash WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile index 439d88aff44f5..d020a1a95bdda 100644 --- a/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile @@ -141,7 +141,7 @@ RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v31.1.tar.gz ldconfig && cd /var/tmp && rm -fr build WORKDIR /var/tmp/build/ -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_CXX_STANDARD=17 \ @@ -149,8 +149,7 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20 -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \ -DBUILD_SHARED_LIBS=ON \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile index 21248c8a52af0..36d0c5430e660 100644 --- a/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile @@ -155,7 +155,7 @@ RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v31.1.tar.gz cd /var/tmp && rm -fr build WORKDIR /var/tmp/build/ -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_CXX_STANDARD=20 \ @@ -164,7 +164,6 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20 -DBUILD_SHARED_LIBS=ON \ -DWITH_EXAMPLES=OFF \ -DWITH_STL=CXX20 \ - -DWITH_ABSEIL=ON \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile index beb8527c904f1..fa0945ee79d52 100644 --- a/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile @@ -63,7 +63,7 @@ RUN curl -fsSL https://github.com/doxygen/doxygen/archive/refs/tags/Release_1_11 cmake --build cmake-out --target install WORKDIR /var/tmp/build/ -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ @@ -71,8 +71,7 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20 -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \ -DBUILD_SHARED_LIBS=ON \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/fedora-m32.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-m32.Dockerfile index 22e4e93c9af86..6435028d58989 100644 --- a/ci/cloudbuild/dockerfiles/fedora-m32.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-m32.Dockerfile @@ -100,7 +100,7 @@ RUN curl -fsSL https://github.com/nlohmann/json/archive/v3.11.3.tar.gz | \ # compiled with. And we use the compiler flags from ci/etc/m32-toolchain.cmake # to force a 32-bit install. WORKDIR /var/tmp/build/opentelemetry -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_CXX_STANDARD=17 \ @@ -114,8 +114,7 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20 -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \ -DBUILD_SHARED_LIBS=ON \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/gcc-oldest.Dockerfile b/ci/cloudbuild/dockerfiles/gcc-oldest.Dockerfile index 273a2006ca726..ea44c79c90ef1 100644 --- a/ci/cloudbuild/dockerfiles/gcc-oldest.Dockerfile +++ b/ci/cloudbuild/dockerfiles/gcc-oldest.Dockerfile @@ -95,7 +95,7 @@ RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v31.1.tar.gz # GCC 7.x. See https://github.com/open-telemetry/opentelemetry-cpp/issues/1014 # for more details. WORKDIR /var/tmp/build/opentelemetry-cpp -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ sed -i 's/Stack &GetStack()/Stack \&GetStack() __attribute__((noinline, noclone))/' "api/include/opentelemetry/context/runtime_context.h" && \ cmake \ @@ -103,8 +103,7 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20 -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/cloudbuild/dockerfiles/ubuntu-20.04-install.Dockerfile b/ci/cloudbuild/dockerfiles/ubuntu-20.04-install.Dockerfile index 4d5c6d5f788a9..2c6d761f16513 100644 --- a/ci/cloudbuild/dockerfiles/ubuntu-20.04-install.Dockerfile +++ b/ci/cloudbuild/dockerfiles/ubuntu-20.04-install.Dockerfile @@ -161,7 +161,7 @@ RUN curl -fsSL https://github.com/google/re2/archive/2025-07-22.tar.gz | \ cd /var/tmp && rm -fr build WORKDIR /var/tmp/build/ -RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_CXX_STANDARD=17 \ @@ -169,8 +169,7 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20 -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \ -DBUILD_SHARED_LIBS=ON \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/fix-target_link.patch b/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/fix-target_link.patch new file mode 100644 index 0000000000000..f4709e8b1c28f --- /dev/null +++ b/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/fix-target_link.patch @@ -0,0 +1,17 @@ +diff --git a/cmake/opentracing-cpp.cmake b/cmake/opentracing-cpp.cmake +index f014ecd..fd8898a 100644 +--- a/cmake/opentracing-cpp.cmake ++++ b/cmake/opentracing-cpp.cmake +@@ -1,7 +1,11 @@ + # Copyright The OpenTelemetry Authors + # SPDX-License-Identifier: Apache-2.0 + +-find_package(OpenTracing CONFIG QUIET) ++find_package(OpenTracing CONFIG REQUIRED) ++if(NOT TARGET OpenTracing::opentracing AND TARGET OpenTracing::opentracing-static) ++ add_library(OpenTracing::opentracing ALIAS OpenTracing::opentracing-static) ++endif() ++ + set(OpenTracing_PROVIDER "find_package") + + if(NOT OpenTracing_FOUND) diff --git a/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/portfile.cmake b/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/portfile.cmake new file mode 100644 index 0000000000000..c8bb4f68fce6a --- /dev/null +++ b/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/portfile.cmake @@ -0,0 +1,135 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif () + +vcpkg_from_github( + OUT_SOURCE_PATH + SOURCE_PATH + REPO + open-telemetry/opentelemetry-cpp + REF + "v${VERSION}" + SHA512 + 6dc0357d8b3410852d3f970f72b8bec59dba9d6c533ca600432102e65de161903bd9170d98cef7ff0af5191309577ffd2a69ccd004b840914a910a6a282204e4 + HEAD_REF + main + PATCHES + fix-target_link.patch) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + etw + WITH_ETW + zipkin + WITH_ZIPKIN + prometheus + WITH_PROMETHEUS + elasticsearch + WITH_ELASTICSEARCH + otlp-file + WITH_OTLP_FILE + otlp-http + WITH_OTLP_HTTP + otlp-grpc + WITH_OTLP_GRPC + geneva + WITH_GENEVA + user-events + WITH_USER_EVENTS + opentracing + WITH_OPENTRACING + INVERTED_FEATURES + user-events + BUILD_TRACEPOINTS) + +# opentelemetry-proto is a third party submodule and opentelemetry-cpp release +# did not pack it. +if (WITH_OTLP_FILE + OR WITH_OTLP_GRPC + OR WITH_OTLP_HTTP) + set(OTEL_PROTO_VERSION "1.6.0") + vcpkg_download_distfile( + ARCHIVE + URLS + "https://github.com/open-telemetry/opentelemetry-proto/archive/v${OTEL_PROTO_VERSION}.tar.gz" + FILENAME + "opentelemetry-proto-${OTEL_PROTO_VERSION}.tar.gz" + SHA512 + 0e72e0c32d2d699d7a832a4c57a9dbe60e844d4c4e8d7b39eb45e4282cde89fccfeef893eae70b9d018643782090a7228c3ef60863b00747498e80f0cf1db8ae + ) + + vcpkg_extract_source_archive(src ARCHIVE "${ARCHIVE}") + file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/opentelemetry-proto") + file(COPY "${src}/." + DESTINATION "${SOURCE_PATH}/third_party/opentelemetry-proto") + # Create empty .git directory to prevent opentelemetry from cloning it + # during build time + file(MAKE_DIRECTORY "${SOURCE_PATH}/third_party/opentelemetry-proto/.git") + list( + APPEND + FEATURE_OPTIONS + "-DgRPC_CPP_PLUGIN_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/grpc/grpc_cpp_plugin${VCPKG_HOST_EXECUTABLE_SUFFIX}" + ) +endif () +list(APPEND FEATURE_OPTIONS -DCMAKE_CXX_STANDARD=17) +list(APPEND FEATURE_OPTIONS -DWITH_STL=CXX17) + +set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "OFF") + +if (WITH_GENEVA OR WITH_USER_EVENTS) + # Geneva and user events exporters from opentelemetry-cpp-contrib are + # tightly coupled with opentelemetry-cpp repo, so they should be ported as a + # feature under opentelemetry-cpp. + clone_opentelemetry_cpp_contrib(CONTRIB_SOURCE_PATH) + + if (WITH_GENEVA) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS + "${CONTRIB_SOURCE_PATH}/exporters/geneva") + if (VCPKG_TARGET_IS_WINDOWS) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS + "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/geneva-trace" + ) + else () + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS + "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/fluentd" + ) + endif () + endif () + + if (WITH_USER_EVENTS) + if (WITH_GENEVA) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS + "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/user_events" + ) + else () + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS + "${CONTRIB_SOURCE_PATH}/exporters/user_events") + endif () + endif () +endif () + +vcpkg_cmake_configure( + SOURCE_PATH + "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DWITH_EXAMPLES=OFF + -DOPENTELEMETRY_INSTALL=ON + -DWITH_BENCHMARK=OFF + -DOPENTELEMETRY_EXTERNAL_COMPONENT_PATH=${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS} + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + WITH_GENEVA + WITH_USER_EVENTS + BUILD_TRACEPOINTS + gRPC_CPP_PLUGIN_EXECUTABLE) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/vcpkg.json b/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/vcpkg.json new file mode 100644 index 0000000000000..0570a7bd2e108 --- /dev/null +++ b/ci/etc/oldest-deps/overlay-ports/opentelemetry-cpp/vcpkg.json @@ -0,0 +1,108 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "opentelemetry-cpp", + "version-semver": "1.23.0", + "description": [ + "OpenTelemetry is a collection of tools, APIs, and SDKs.", + "You use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior." + ], + "homepage": "https://github.com/open-telemetry/opentelemetry-cpp", + "license": "Apache-2.0", + "dependencies": [ + "abseil", + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "elasticsearch": { + "description": "Whether to include the Elasticsearch Client in the SDK", + "dependencies": [ + { + "name": "curl", + "default-features": false + } + ] + }, + "etw": { + "description": "Whether to include the ETW Exporter in the SDK", + "supports": "windows" + }, + "geneva": { + "description": "Whether to include the Geneva Exporter from the opentelemetry-cpp-contrib repository", + "dependencies": [ + { + "name": "opentelemetry-cpp", + "features": [ + "etw" + ], + "platform": "windows" + }, + "opentelemetry-cpp-contrib-version" + ] + }, + "opentracing": { + "description": "Whether to include the Opentracing shim", + "dependencies": [ + "opentracing" + ] + }, + "otlp-file": { + "description": "Whether to include the OpenTelemetry Protocol to File exporter in the SDK", + "supports": "!uwp", + "dependencies": [ + "protobuf" + ] + }, + "otlp-grpc": { + "description": "Whether to include the OTLP gRPC exporter in the SDK", + "dependencies": [ + "grpc", + { + "name": "grpc", + "host": true + } + ] + }, + "otlp-http": { + "description": "Whether to include the OpenTelemetry Protocol over HTTP in the SDK", + "dependencies": [ + "curl", + "protobuf" + ] + }, + "prometheus": { + "description": "Whether to include the Prometheus Client in the SDK", + "dependencies": [ + "prometheus-cpp" + ] + }, + "user-events": { + "description": "Whether to include the User Events Exporter from the opentelemetry-cpp-contrib repository", + "supports": "linux", + "dependencies": [ + "libeventheader-tracepoint", + "libtracepoint", + { + "name": "opentelemetry-cpp", + "features": [ + "otlp-http" + ] + }, + "opentelemetry-cpp-contrib-version" + ] + }, + "zipkin": { + "description": "Whether to include the Zipkin exporter in the SDK", + "dependencies": [ + "curl" + ] + } + } +} diff --git a/ci/etc/oldest-deps/vcpkg.json b/ci/etc/oldest-deps/vcpkg.json index 9545857b07db6..29dadb3489d80 100644 --- a/ci/etc/oldest-deps/vcpkg.json +++ b/ci/etc/oldest-deps/vcpkg.json @@ -8,7 +8,7 @@ "$TODO": "move `gtest` and `benchmark` to dev-dependencies", "builtin-baseline": "6d9ed568117dd958c543b3ab8d3ed692965cac34", "dependencies": [ - {"name": "abseil", "version>=": "2020-09-23#3"}, + {"name": "abseil", "version>=": "20250127.1"}, {"name": "crc32c", "version>=": "1.1.1"}, { "name": "curl", @@ -27,17 +27,21 @@ "host": true }, {"name": "grpc", "version>=": "1.33.1"}, - {"name": "opentelemetry-cpp", "version>=": "1.9.1"}, + {"name": "opentelemetry-cpp", "version>=": "1.20.0"}, {"name": "protobuf", "version>=": "3.15.8"}, {"name": "nlohmann-json", "version>=": "3.9.1"}, "benchmark", {"name": "gtest", "version>=": "1.11.0", "host": true} ], "overrides": [ - { "name": "opentelemetry-cpp", "version": "1.9.1"}, + { "name": "abseil", "version": "20250127.1"}, + { "name": "opentelemetry-cpp", "version": "1.20.0"}, { "name": "protobuf", "version": "3.15.8" }, { "name": "grpc", "version": "1.36.4" }, { "name": "upb", "version": "2020-12-19" }, { "name": "gtest", "version": "1.12.0" } - ] + ], + "configuration": { + "overlay-ports" : [ "overlay-ports"] + } } diff --git a/ci/etc/vcpkg-version.txt b/ci/etc/vcpkg-version.txt index 1cf30f24daa2d..fdf37ec4deabe 100644 --- a/ci/etc/vcpkg-version.txt +++ b/ci/etc/vcpkg-version.txt @@ -1 +1 @@ -2024.09.30 +2025.10.17 diff --git a/doc/packaging.md b/doc/packaging.md index 38d89a1d80498..3ed2764704aab 100644 --- a/doc/packaging.md +++ b/doc/packaging.md @@ -202,15 +202,14 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -307,15 +306,14 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -359,7 +357,7 @@ use GCC 8 or higher to compile `google-cloud-cpp`. ```bash sudo zypper refresh && \ sudo zypper install --allow-downgrade -y automake cmake curl \ - gcc gcc-c++ gcc8 gcc8-c++ git gzip libtool make patch tar wget + gcc8 gcc8-c++ git gzip libtool make patch tar wget ``` Install some of the dependencies for `google-cloud-cpp`. @@ -382,25 +380,23 @@ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig export PATH=/usr/local/bin:${PATH} ``` -#### opentelemetry-cpp +Use the following environment variables to configure the compiler used by CMake. +export CC=gcc-8 export CXX=g++-8 -The project has an **optional** dependency on the OpenTelemetry library. We -recommend installing this library because: +#### opentelemetry-cpp -- the dependency will become required in the google-cloud-cpp v3.x series. -- it is needed to produce distributed traces of the library. +The project has a dependency on the OpenTelemetry library. ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -409,12 +405,6 @@ sudo cmake --build cmake-out --target install -- -j ${NCPU:-4} && \ sudo ldconfig ``` -Use the following environment variables to configure the compiler used by CMake. - -export CXX=g++-8 - -export CC=gcc-8 - #### Compile and install the main project We can now compile and install `google-cloud-cpp`: @@ -515,14 +505,13 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -687,15 +676,14 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -879,15 +867,14 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -992,15 +979,14 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -1139,8 +1125,6 @@ sudo ldconfig #### gRPC -Finally, we build gRPC from source: - ```bash mkdir -p $HOME/Downloads/grpc && cd $HOME/Downloads/grpc curl -fsSL https://github.com/grpc/grpc/archive/v1.74.1.tar.gz | \ @@ -1172,15 +1156,14 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ @@ -1398,15 +1381,14 @@ recommend installing this library because: ```bash mkdir -p $HOME/Downloads/opentelemetry-cpp && cd $HOME/Downloads/opentelemetry-cpp -curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.20.0.tar.gz | \ +curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \ tar -xzf - --strip-components=1 && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=yes \ -DWITH_EXAMPLES=OFF \ - -DWITH_STL=CXX14 \ - -DWITH_ABSEIL=ON \ + -DWITH_STL=CXX17 \ -DBUILD_TESTING=OFF \ -DOPENTELEMETRY_INSTALL=ON \ -DOPENTELEMETRY_ABI_VERSION_NO=2 \ diff --git a/google/cloud/bigtable/internal/operation_context_factory.cc b/google/cloud/bigtable/internal/operation_context_factory.cc index 039cf185aa5ee..6ecdafed30795 100644 --- a/google/cloud/bigtable/internal/operation_context_factory.cc +++ b/google/cloud/bigtable/internal/operation_context_factory.cc @@ -214,15 +214,15 @@ void MetricsOperationContextFactory::InitializeProvider( auto& labels = *resource.mutable_labels(); auto const& attributes = pda.attributes.GetAttributes(); labels[kProjectLabel] = - absl::get(attributes.find(kProjectLabel)->second); + std::get(attributes.find(kProjectLabel)->second); labels[kInstanceLabel] = - absl::get(attributes.find(kInstanceLabel)->second); + std::get(attributes.find(kInstanceLabel)->second); labels[kTableLabel] = - absl::get(attributes.find(kTableLabel)->second); + std::get(attributes.find(kTableLabel)->second); labels[kClusterLabel] = - absl::get(attributes.find(kClusterLabel)->second); + std::get(attributes.find(kClusterLabel)->second); labels[kZoneLabel] = - absl::get(attributes.find(kZoneLabel)->second); + std::get(attributes.find(kZoneLabel)->second); return std::make_pair(labels[kProjectLabel], resource); }; diff --git a/google/cloud/internal/grpc_opentelemetry.cc b/google/cloud/internal/grpc_opentelemetry.cc index 0f9308bbab1b1..127e71dbf5317 100644 --- a/google/cloud/internal/grpc_opentelemetry.cc +++ b/google/cloud/internal/grpc_opentelemetry.cc @@ -25,7 +25,8 @@ #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include #include -#include +#include +#include #include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY @@ -110,17 +111,17 @@ std::pair MakeAttribute( opentelemetry::nostd::shared_ptr MakeSpanGrpc( opentelemetry::nostd::string_view service, opentelemetry::nostd::string_view method) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kClient; return internal::MakeSpan( absl::StrCat(absl::string_view{service.data(), service.size()}, "/", absl::string_view{method.data(), method.size()}), - {{sc::kRpcSystem, sc::RpcSystemValues::kGrpc}, - {sc::kRpcService, service}, - {sc::kRpcMethod, method}, + {{sc::rpc::kRpcSystem, sc::rpc::RpcSystemValues::kGrpc}, + {sc::rpc::kRpcService, service}, + {sc::rpc::kRpcMethod, method}, {/*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp}, + sc::network::NetworkTransportValues::kTcp}, {"grpc.version", grpc::Version()}}, options); } diff --git a/google/cloud/internal/grpc_opentelemetry_test.cc b/google/cloud/internal/grpc_opentelemetry_test.cc index 135ce26dabfef..b6484f2f504c3 100644 --- a/google/cloud/internal/grpc_opentelemetry_test.cc +++ b/google/cloud/internal/grpc_opentelemetry_test.cc @@ -24,7 +24,8 @@ #include #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include -#include +#include +#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY namespace google { @@ -57,7 +58,7 @@ using ::testing::IsEmpty; using ::testing::Pair; TEST(OpenTelemetry, MakeSpanGrpc) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto span = MakeSpanGrpc("google.cloud.foo.v1.Foo", "GetBar"); @@ -70,14 +71,14 @@ TEST(OpenTelemetry, MakeSpanGrpc) { SpanHasInstrumentationScope(), SpanKindIsClient(), SpanNamed("google.cloud.foo.v1.Foo/GetBar"), SpanHasAttributes( - OTelAttribute(sc::kRpcSystem, - sc::RpcSystemValues::kGrpc), - OTelAttribute(sc::kRpcService, + OTelAttribute(sc::rpc::kRpcSystem, + sc::rpc::RpcSystemValues::kGrpc), + OTelAttribute(sc::rpc::kRpcService, "google.cloud.foo.v1.Foo"), - OTelAttribute(sc::kRpcMethod, "GetBar"), + OTelAttribute(sc::rpc::kRpcMethod, "GetBar"), OTelAttribute( /*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp), + sc::network::NetworkTransportValues::kTcp), OTelAttribute("grpc.version", grpc::Version()))))); } diff --git a/google/cloud/internal/rest_opentelemetry.cc b/google/cloud/internal/rest_opentelemetry.cc index c59c1382466db..9df10a71c2837 100644 --- a/google/cloud/internal/rest_opentelemetry.cc +++ b/google/cloud/internal/rest_opentelemetry.cc @@ -22,8 +22,8 @@ #include "absl/strings/match.h" #include #include +#include #include -#include #include #include @@ -71,13 +71,13 @@ void InjectTraceContext( opentelemetry::nostd::shared_ptr MakeSpanHttp( RestRequest const& request, opentelemetry::nostd::string_view method) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kClient; auto span = internal::MakeSpan( absl::StrCat("HTTP/", absl::string_view{method.data(), method.size()}), {{/*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp}, + sc::network::NetworkTransportValues::kTcp}, {/*sc::kHttpRequestMethod=*/"http.request.method", method}, {/*sc::kUrlFull=*/"url.full", request.path()}}, options); diff --git a/google/cloud/internal/rest_opentelemetry_test.cc b/google/cloud/internal/rest_opentelemetry_test.cc index 56aef72e06be1..23228a6461cb2 100644 --- a/google/cloud/internal/rest_opentelemetry_test.cc +++ b/google/cloud/internal/rest_opentelemetry_test.cc @@ -17,7 +17,7 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include namespace google { namespace cloud { @@ -39,7 +39,7 @@ using ::testing::Gt; using ::testing::Pair; TEST(RestOpentelemetry, MakeSpanHttp) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto constexpr kUrl = "https://storage.googleapis.com/storage/v1/b/my-bucket"; @@ -66,7 +66,7 @@ TEST(RestOpentelemetry, MakeSpanHttp) { SpanHasAttributes( OTelAttribute( /*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp), + sc::network::NetworkTransportValues::kTcp), OTelAttribute( /*sc::kHttpRequestMethod=*/"http.request.method", "GET"), OTelAttribute(/*sc::kUrlFull=*/"url.full", kUrl), diff --git a/google/cloud/internal/tracing_http_payload_test.cc b/google/cloud/internal/tracing_http_payload_test.cc index d922052a779b1..7a309a55c0d66 100644 --- a/google/cloud/internal/tracing_http_payload_test.cc +++ b/google/cloud/internal/tracing_http_payload_test.cc @@ -20,7 +20,7 @@ #include "google/cloud/testing_util/status_matchers.h" #include #include -#include +#include namespace google { namespace cloud { @@ -66,7 +66,7 @@ auto MakeReadMatcher(std::int64_t buffer_size) { } TEST(TracingHttpPayload, Success) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto impl = MakeMockHttpPayloadSuccess(MockContents()); @@ -86,13 +86,13 @@ TEST(TracingHttpPayload, Success) { SpanKindIsClient(), SpanHasAttributes(OTelAttribute( /*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp)), + sc::network::NetworkTransportValues::kTcp)), SpanHasEvents(MakeReadMatcher(16, 16), MakeReadMatcher(16, 16), MakeReadMatcher(16, 11), MakeReadMatcher(16, 0))))); } TEST(TracingHttpPayload, Failure) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); RestRequest request("https://example.com/ignored"); @@ -120,7 +120,7 @@ TEST(TracingHttpPayload, Failure) { SpanHasAttributes( OTelAttribute( /*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp), + sc::network::NetworkTransportValues::kTcp), OTelAttribute("gl-cpp.status_code", "UNAVAILABLE")), SpanHasEvents(MakeReadMatcher(16, 16), MakeReadMatcher(16))))); } diff --git a/google/cloud/internal/tracing_rest_client_test.cc b/google/cloud/internal/tracing_rest_client_test.cc index 00ef20b9beb5c..9a9ff8a267b57 100644 --- a/google/cloud/internal/tracing_rest_client_test.cc +++ b/google/cloud/internal/tracing_rest_client_test.cc @@ -21,8 +21,8 @@ #include #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include +#include #include -#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY namespace google { @@ -66,7 +66,7 @@ using ::testing::ResultOf; using ::testing::UnorderedElementsAre; TEST(TracingRestClient, Delete) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto impl = std::make_unique(); @@ -107,7 +107,7 @@ TEST(TracingRestClient, Delete) { SpanHasAttributes( OTelAttribute( /*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp), + sc::network::NetworkTransportValues::kTcp), OTelAttribute( /*sc::kHttpRequestMethod=*/"http.request.method", "DELETE"), @@ -209,7 +209,7 @@ TEST(TracingRestClient, PropagatesTraceContext) { } TEST(TracingRestClient, WithRestContextDetails) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto impl = std::make_unique(); @@ -256,7 +256,7 @@ TEST(TracingRestClient, WithRestContextDetails) { SpanHasAttributes( OTelAttribute( /*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp), + sc::network::NetworkTransportValues::kTcp), OTelAttribute( /*sc::kHttpRequestMethod=*/"http.request.method", "POST"), OTelAttribute(/*sc::kUrlFull=*/"url.full", kUrl), diff --git a/google/cloud/internal/tracing_rest_response_test.cc b/google/cloud/internal/tracing_rest_response_test.cc index 722e121ba953d..f95f4b6280938 100644 --- a/google/cloud/internal/tracing_rest_response_test.cc +++ b/google/cloud/internal/tracing_rest_response_test.cc @@ -21,7 +21,7 @@ #include "google/cloud/testing_util/status_matchers.h" #include #include -#include +#include namespace google { namespace cloud { @@ -57,7 +57,7 @@ auto MakeReadMatcher(std::int64_t buffer_size, std::int64_t read_size) { } TEST(TracingRestResponseTest, Success) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); RestRequest request("https://example.com/ignored"); @@ -89,7 +89,7 @@ TEST(TracingRestResponseTest, Success) { SpanKindIsClient(), SpanHasAttributes(OTelAttribute( /*sc::kNetworkTransport=*/"network.transport", - sc::NetTransportValues::kIpTcp)), + sc::network::NetworkTransportValues::kTcp)), SpanHasEvents(MakeReadMatcher(kBufferSize, content_size), MakeReadMatcher(kBufferSize, 0))))); } diff --git a/google/cloud/opentelemetry/integration_tests/monitoring_exporter_integration_test.cc b/google/cloud/opentelemetry/integration_tests/monitoring_exporter_integration_test.cc index 8c93dbd9fdc2d..e962f31f48b25 100644 --- a/google/cloud/opentelemetry/integration_tests/monitoring_exporter_integration_test.cc +++ b/google/cloud/opentelemetry/integration_tests/monitoring_exporter_integration_test.cc @@ -28,7 +28,7 @@ #include #include #include -#include +#include namespace google { namespace cloud { @@ -40,7 +40,7 @@ using ::testing::IsEmpty; using ::testing::Not; namespace metrics_api = ::opentelemetry::metrics; namespace metrics_sdk = ::opentelemetry::sdk::metrics; -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; auto constexpr kJobName = "monitoring_exporter_integration_test"; auto constexpr kMeterName = @@ -59,9 +59,9 @@ void InstallExporter(std::unique_ptr exporter, // attributes which will map to a `generic_task`, which seems apt for this // workflow. auto resource = opentelemetry::sdk::resource::Resource::Create( - {{sc::kServiceNamespace, "gl-cpp"}, - {sc::kServiceName, kJobName}, - {sc::kServiceInstanceId, task_id}}); + {{sc::service::kServiceNamespace, "gl-cpp"}, + {sc::service::kServiceName, kJobName}, + {sc::service::kServiceInstanceId, task_id}}); // Initialize and set the global MeterProvider metrics_sdk::PeriodicExportingMetricReaderOptions options; diff --git a/google/cloud/opentelemetry/internal/monitored_resource.cc b/google/cloud/opentelemetry/internal/monitored_resource.cc index 24c0c08e514c7..b9b4d44eed2aa 100644 --- a/google/cloud/opentelemetry/internal/monitored_resource.cc +++ b/google/cloud/opentelemetry/internal/monitored_resource.cc @@ -20,10 +20,15 @@ #include "absl/types/variant.h" #include #include -#include +#include +#include +#include +#include +#include #include #include #include +#include namespace google { namespace cloud { @@ -31,7 +36,7 @@ namespace otel_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; struct AsStringVisitor { template @@ -86,22 +91,23 @@ class MonitoredResourceProvider { }; MonitoredResourceProvider GceInstance() { - return MonitoredResourceProvider("gce_instance", - { - {"zone", {{sc::kCloudAvailabilityZone}}}, - {"instance_id", {{sc::kHostId}}}, - }); + return MonitoredResourceProvider( + "gce_instance", { + {"zone", {{sc::cloud::kCloudAvailabilityZone}}}, + {"instance_id", {{sc::host::kHostId}}}, + }); } MonitoredResourceProvider K8sContainer() { return MonitoredResourceProvider( "k8s_container", { - {"location", {{sc::kCloudAvailabilityZone, sc::kCloudRegion}}}, - {"cluster_name", {{sc::kK8sClusterName}}}, - {"namespace_name", {{sc::kK8sNamespaceName}}}, - {"pod_name", {{sc::kK8sPodName}}}, - {"container_name", {{sc::kK8sContainerName}}}, + {"location", + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}}}, + {"cluster_name", {{sc::k8s::kK8sClusterName}}}, + {"namespace_name", {{sc::k8s::kK8sNamespaceName}}}, + {"pod_name", {{sc::k8s::kK8sPodName}}}, + {"container_name", {{sc::k8s::kK8sContainerName}}}, }); } @@ -109,10 +115,11 @@ MonitoredResourceProvider K8sPod() { return MonitoredResourceProvider( "k8s_pod", { - {"location", {{sc::kCloudAvailabilityZone, sc::kCloudRegion}}}, - {"cluster_name", {{sc::kK8sClusterName}}}, - {"namespace_name", {{sc::kK8sNamespaceName}}}, - {"pod_name", {{sc::kK8sPodName}}}, + {"location", + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}}}, + {"cluster_name", {{sc::k8s::kK8sClusterName}}}, + {"namespace_name", {{sc::k8s::kK8sNamespaceName}}}, + {"pod_name", {{sc::k8s::kK8sPodName}}}, }); } @@ -120,9 +127,10 @@ MonitoredResourceProvider K8sNode() { return MonitoredResourceProvider( "k8s_node", { - {"location", {{sc::kCloudAvailabilityZone, sc::kCloudRegion}}}, - {"cluster_name", {{sc::kK8sClusterName}}}, - {"node_name", {{sc::kK8sNodeName}}}, + {"location", + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}}}, + {"cluster_name", {{sc::k8s::kK8sClusterName}}}, + {"node_name", {{sc::k8s::kK8sNodeName}}}, }); } @@ -130,8 +138,9 @@ MonitoredResourceProvider K8sCluster() { return MonitoredResourceProvider( "k8s_cluster", { - {"location", {{sc::kCloudAvailabilityZone, sc::kCloudRegion}}}, - {"cluster_name", {{sc::kK8sClusterName}}}, + {"location", + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}}}, + {"cluster_name", {{sc::k8s::kK8sClusterName}}}, }); } @@ -139,10 +148,11 @@ MonitoredResourceProvider GaeInstance() { return MonitoredResourceProvider( "gae_instance", { - {"location", {{sc::kCloudAvailabilityZone, sc::kCloudRegion}}}, - {"module_id", {{sc::kFaasName}}}, - {"version_id", {{sc::kFaasVersion}}}, - {"instance_id", {{sc::kFaasInstance}}}, + {"location", + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}}}, + {"module_id", {{sc::faas::kFaasName}}}, + {"version_id", {{sc::faas::kFaasVersion}}}, + {"instance_id", {{sc::faas::kFaasInstance}}}, }); } @@ -150,9 +160,10 @@ MonitoredResourceProvider AwsEc2Instance() { return MonitoredResourceProvider( "aws_ec2_instance", { - {"instance_id", {{sc::kHostId}}}, - {"region", {{sc::kCloudAvailabilityZone, sc::kCloudRegion}}}, - {"aws_account", {{sc::kCloudAccountId}}}, + {"instance_id", {{sc::host::kHostId}}}, + {"region", + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}}}, + {"aws_account", {{sc::cloud::kCloudAccountId}}}, }); } @@ -161,10 +172,12 @@ MonitoredResourceProvider GenericTask() { "generic_task", { {"location", - {{sc::kCloudAvailabilityZone, sc::kCloudRegion}, "global"}}, - {"namespace", {{sc::kServiceNamespace}}}, - {"job", {{sc::kServiceName, sc::kFaasName}}}, - {"task_id", {{sc::kServiceInstanceId, sc::kFaasInstance}}}, + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}, + "global"}}, + {"namespace", {{sc::service::kServiceNamespace}}}, + {"job", {{sc::service::kServiceName, sc::faas::kFaasName}}}, + {"task_id", + {{sc::service::kServiceInstanceId, sc::faas::kFaasInstance}}}, }); } @@ -173,9 +186,10 @@ MonitoredResourceProvider GenericNode() { "generic_node", { {"location", - {{sc::kCloudAvailabilityZone, sc::kCloudRegion}, "global"}}, - {"namespace", {{sc::kServiceNamespace}}}, - {"node_id", {{sc::kHostId, sc::kHostName}}}, + {{sc::cloud::kCloudAvailabilityZone, sc::cloud::kCloudRegion}, + "global"}}, + {"namespace", {{sc::service::kServiceNamespace}}}, + {"node_id", {{sc::host::kHostId, sc::host::kHostName}}}, }); } @@ -185,20 +199,20 @@ MonitoredResourceProvider GenericNode() { MonitoredResourceProvider MakeProvider( opentelemetry::sdk::resource::ResourceAttributes const& attributes) { std::string platform; - auto p = attributes.find(sc::kCloudPlatform); + auto p = attributes.find(sc::cloud::kCloudPlatform); if (p != attributes.end()) platform = AsString(p->second); if (platform == "gcp_compute_engine") { return GceInstance(); } if (platform == "gcp_kubernetes_engine") { - if (attributes.find(sc::kK8sContainerName) != attributes.end()) { + if (attributes.find(sc::k8s::kK8sContainerName) != attributes.end()) { return K8sContainer(); } - if (attributes.find(sc::kK8sPodName) != attributes.end()) { + if (attributes.find(sc::k8s::kK8sPodName) != attributes.end()) { return K8sPod(); } - if (attributes.find(sc::kK8sNodeName) != attributes.end()) { + if (attributes.find(sc::k8s::kK8sNodeName) != attributes.end()) { return K8sNode(); } return K8sCluster(); @@ -209,10 +223,10 @@ MonitoredResourceProvider MakeProvider( if (platform == "aws_ec2") { return AwsEc2Instance(); } - if ((attributes.find(sc::kServiceName) != attributes.end() && - attributes.find(sc::kServiceInstanceId) != attributes.end()) || - (attributes.find(sc::kFaasName) != attributes.end() && - attributes.find(sc::kFaasInstance) != attributes.end())) { + if ((attributes.find(sc::service::kServiceName) != attributes.end() && + attributes.find(sc::service::kServiceInstanceId) != attributes.end()) || + (attributes.find(sc::faas::kFaasName) != attributes.end() && + attributes.find(sc::faas::kFaasInstance) != attributes.end())) { return GenericTask(); } return GenericNode(); @@ -222,7 +236,7 @@ MonitoredResourceProvider MakeProvider( std::string AsString( opentelemetry::sdk::common::OwnedAttributeValue const& attribute) { - return absl::visit(AsStringVisitor{}, attribute); + return std::visit(AsStringVisitor{}, attribute); } MonitoredResource ToMonitoredResource( diff --git a/google/cloud/opentelemetry/internal/monitored_resource_test.cc b/google/cloud/opentelemetry/internal/monitored_resource_test.cc index 217e43cf90426..b1e02253a3a27 100644 --- a/google/cloud/opentelemetry/internal/monitored_resource_test.cc +++ b/google/cloud/opentelemetry/internal/monitored_resource_test.cc @@ -16,14 +16,18 @@ #include "google/cloud/version.h" #include "absl/types/optional.h" #include -#include +#include +#include +#include +#include +#include namespace google { namespace cloud { namespace otel_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; using ::testing::Pair; using ::testing::UnorderedElementsAre; @@ -69,9 +73,9 @@ TEST(AsString, VectorsAreJoined) { TEST(MonitoredResource, GceInstance) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudPlatform, "gcp_compute_engine"}, - {sc::kHostId, "1020304050607080900"}, - {sc::kCloudAvailabilityZone, "us-central1-a"}, + {sc::cloud::kCloudPlatform, "gcp_compute_engine"}, + {sc::host::kHostId, "1020304050607080900"}, + {sc::cloud::kCloudAvailabilityZone, "us-central1-a"}, }; auto mr = ToMonitoredResource(attributes); @@ -94,14 +98,14 @@ TEST(MonitoredResource, K8sContainer) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudPlatform, "gcp_kubernetes_engine"}, - {sc::kK8sClusterName, "test-cluster"}, - {sc::kK8sNamespaceName, "test-namespace"}, - {sc::kK8sPodName, "test-pod"}, - {sc::kK8sContainerName, "test-container"}, + {sc::cloud::kCloudPlatform, "gcp_kubernetes_engine"}, + {sc::k8s::kK8sClusterName, "test-cluster"}, + {sc::k8s::kK8sNamespaceName, "test-namespace"}, + {sc::k8s::kK8sPodName, "test-pod"}, + {sc::k8s::kK8sContainerName, "test-container"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "k8s_container"); @@ -127,13 +131,13 @@ TEST(MonitoredResource, K8sPod) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudPlatform, "gcp_kubernetes_engine"}, - {sc::kK8sClusterName, "test-cluster"}, - {sc::kK8sNamespaceName, "test-namespace"}, - {sc::kK8sPodName, "test-pod"}, + {sc::cloud::kCloudPlatform, "gcp_kubernetes_engine"}, + {sc::k8s::kK8sClusterName, "test-cluster"}, + {sc::k8s::kK8sNamespaceName, "test-namespace"}, + {sc::k8s::kK8sPodName, "test-pod"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "k8s_pod"); @@ -158,12 +162,12 @@ TEST(MonitoredResource, K8sNode) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudPlatform, "gcp_kubernetes_engine"}, - {sc::kK8sClusterName, "test-cluster"}, - {sc::kK8sNodeName, "test-node"}, + {sc::cloud::kCloudPlatform, "gcp_kubernetes_engine"}, + {sc::k8s::kK8sClusterName, "test-cluster"}, + {sc::k8s::kK8sNodeName, "test-node"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "k8s_node"); @@ -187,11 +191,11 @@ TEST(MonitoredResource, K8sCluster) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudPlatform, "gcp_kubernetes_engine"}, - {sc::kK8sClusterName, "test-cluster"}, + {sc::cloud::kCloudPlatform, "gcp_kubernetes_engine"}, + {sc::k8s::kK8sClusterName, "test-cluster"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "k8s_cluster"); @@ -214,13 +218,13 @@ TEST(MonitoredResource, GaeInstance) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudPlatform, "gcp_app_engine"}, - {sc::kFaasName, "test-module"}, - {sc::kFaasVersion, "test-version"}, - {sc::kFaasInstance, "test-instance"}, + {sc::cloud::kCloudPlatform, "gcp_app_engine"}, + {sc::faas::kFaasName, "test-module"}, + {sc::faas::kFaasVersion, "test-version"}, + {sc::faas::kFaasInstance, "test-instance"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "gae_instance"); @@ -245,12 +249,12 @@ TEST(MonitoredResource, AwsEc2Instance) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudPlatform, "aws_ec2"}, - {sc::kHostId, "test-instance"}, - {sc::kCloudAccountId, "test-account"}, + {sc::cloud::kCloudPlatform, "aws_ec2"}, + {sc::host::kHostId, "test-instance"}, + {sc::cloud::kCloudAccountId, "test-account"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "aws_ec2_instance"); @@ -275,11 +279,11 @@ TEST(MonitoredResource, GenericTaskFaas) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kFaasName, "faas-name"}, - {sc::kFaasInstance, "faas-instance"}, + {sc::faas::kFaasName, "faas-name"}, + {sc::faas::kFaasInstance, "faas-instance"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "generic_task"); @@ -305,12 +309,12 @@ TEST(MonitoredResource, GenericTaskService) { }; for (auto const& test : tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kServiceNamespace, "test-namespace"}, - {sc::kServiceName, "test-name"}, - {sc::kServiceInstanceId, "test-instance"}, + {sc::service::kServiceNamespace, "test-namespace"}, + {sc::service::kServiceName, "test-name"}, + {sc::service::kServiceInstanceId, "test-instance"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "generic_task"); @@ -336,11 +340,11 @@ TEST(MonitoredResource, GenericNode) { }; for (auto const& test : location_tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kServiceNamespace, "test-namespace"}, - {sc::kHostId, "test-instance"}, + {sc::service::kServiceNamespace, "test-namespace"}, + {sc::host::kHostId, "test-instance"}, }; - if (test.zone) attributes[sc::kCloudAvailabilityZone] = *test.zone; - if (test.region) attributes[sc::kCloudRegion] = *test.region; + if (test.zone) attributes[sc::cloud::kCloudAvailabilityZone] = *test.zone; + if (test.region) attributes[sc::cloud::kCloudRegion] = *test.region; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "generic_node"); @@ -360,12 +364,12 @@ TEST(MonitoredResource, GenericNode) { }; for (auto const& test : node_id_tests) { auto attributes = opentelemetry::sdk::resource::ResourceAttributes{ - {sc::kCloudAvailabilityZone, "us-central1-a"}, - {sc::kCloudRegion, "us-central1"}, - {sc::kServiceNamespace, "test-namespace"}, - {sc::kHostName, "test-name"}, + {sc::cloud::kCloudAvailabilityZone, "us-central1-a"}, + {sc::cloud::kCloudRegion, "us-central1"}, + {sc::service::kServiceNamespace, "test-namespace"}, + {sc::host::kHostName, "test-name"}, }; - if (test.host_id) attributes[sc::kHostId] = *test.host_id; + if (test.host_id) attributes[sc::host::kHostId] = *test.host_id; auto mr = ToMonitoredResource(attributes); EXPECT_EQ(mr.type, "generic_node"); diff --git a/google/cloud/opentelemetry/internal/monitoring_exporter_test.cc b/google/cloud/opentelemetry/internal/monitoring_exporter_test.cc index 7602f35539626..f3e495bc5d0a2 100644 --- a/google/cloud/opentelemetry/internal/monitoring_exporter_test.cc +++ b/google/cloud/opentelemetry/internal/monitoring_exporter_test.cc @@ -20,6 +20,7 @@ #include #include #include +#include namespace google { namespace cloud { @@ -134,15 +135,14 @@ TEST(MonitoringExporter, ExportSuccess) { auto& labels = *resource.mutable_labels(); auto const& attributes = pda.attributes.GetAttributes(); labels["project_id"] = - absl::get(attributes.find("project_id")->second); + std::get(attributes.find("project_id")->second); labels["instance"] = - absl::get(attributes.find("instance")->second); + std::get(attributes.find("instance")->second); labels["cluster"] = - absl::get(attributes.find("cluster")->second); + std::get(attributes.find("cluster")->second); labels["table"] = - absl::get(attributes.find("table")->second); - labels["zone"] = - absl::get(attributes.find("zone")->second); + std::get(attributes.find("table")->second); + labels["zone"] = std::get(attributes.find("zone")->second); return std::make_pair(labels["project_id"], resource); }; diff --git a/google/cloud/opentelemetry/internal/recordable.cc b/google/cloud/opentelemetry/internal/recordable.cc index ca2623dc03c70..ec88aa5a8ef0c 100644 --- a/google/cloud/opentelemetry/internal/recordable.cc +++ b/google/cloud/opentelemetry/internal/recordable.cc @@ -19,6 +19,7 @@ #include "google/cloud/internal/noexcept_action.h" #include "google/cloud/internal/time_utils.h" #include "absl/time/time.h" +#include "absl/types/variant.h" #include #include @@ -207,7 +208,7 @@ void AddAttributeImpl( std::size_t limit) { auto* proto = ProtoOrDrop(attributes, key, limit); if (proto) { - absl::visit(AttributeVisitor{*proto}, value); + std::visit(AttributeVisitor{*proto}, value); } else { attributes.set_dropped_attributes_count( attributes.dropped_attributes_count() + 1); diff --git a/google/cloud/opentelemetry/internal/recordable_test.cc b/google/cloud/opentelemetry/internal/recordable_test.cc index 0d2ea0e91db9b..2622891fb8b7a 100644 --- a/google/cloud/opentelemetry/internal/recordable_test.cc +++ b/google/cloud/opentelemetry/internal/recordable_test.cc @@ -20,7 +20,8 @@ #include #include #include -#include +#include +#include namespace google { namespace cloud { @@ -28,7 +29,7 @@ namespace otel_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; namespace v2 = ::google::devtools::cloudtrace::v2; using ::testing::_; using ::testing::AllOf; @@ -674,10 +675,10 @@ TEST(Recordable, SetAttributeRespectsLimit) { TEST(Recordable, SetResourceMapsMonitoredResources) { auto resource = opentelemetry::sdk::resource::Resource::Create({ - {sc::kCloudProvider, "gcp"}, - {sc::kCloudPlatform, "gcp_compute_engine"}, - {sc::kHostId, "1020304050607080900"}, - {sc::kCloudAvailabilityZone, "us-central1-a"}, + {sc::cloud::kCloudProvider, "gcp"}, + {sc::cloud::kCloudPlatform, "gcp_compute_engine"}, + {sc::host::kHostId, "1020304050607080900"}, + {sc::cloud::kCloudAvailabilityZone, "us-central1-a"}, }); auto rec = Recordable(Project(kProjectId), TestGenerator()); diff --git a/google/cloud/opentelemetry/internal/resource_detector_impl.cc b/google/cloud/opentelemetry/internal/resource_detector_impl.cc index 99e03ba08c4dd..5f97035a8e330 100644 --- a/google/cloud/opentelemetry/internal/resource_detector_impl.cc +++ b/google/cloud/opentelemetry/internal/resource_detector_impl.cc @@ -23,7 +23,11 @@ #include "absl/strings/match.h" #include #include -#include +#include +#include +#include +#include +#include namespace google { namespace cloud { @@ -31,7 +35,7 @@ namespace otel_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; // The metadata server returns fully qualified names. (e.g. a zone may be // "projects/p/zones/us-central1-a"). Return the IDs only. @@ -84,8 +88,9 @@ class Parser { // environment variables into resource attributes. This populates the // `attributes_` member. void ProcessMetadataAndEnv() { - SetAttribute(sc::kCloudProvider, "gcp"); - SetAttribute(sc::kCloudAccountId, Metadata({"project", "projectId"})); + SetAttribute(sc::cloud::kCloudProvider, "gcp"); + SetAttribute(sc::cloud::kCloudAccountId, + Metadata({"project", "projectId"})); if (internal::GetEnv("KUBERNETES_SERVICE_HOST")) return Gke(); if (internal::GetEnv("FUNCTION_TARGET")) return CloudFunctions(); @@ -95,10 +100,10 @@ class Parser { } void Gke() { - SetAttribute(sc::kCloudPlatform, "gcp_kubernetes_engine"); - SetAttribute(sc::kK8sClusterName, + SetAttribute(sc::cloud::kCloudPlatform, "gcp_kubernetes_engine"); + SetAttribute(sc::k8s::kK8sClusterName, Metadata({"instance", "attributes", "cluster-name"})); - SetAttribute(sc::kHostId, Metadata({"instance", "id"})); + SetAttribute(sc::host::kHostId, Metadata({"instance", "id"})); auto cluster_location = Tail(Metadata({"instance", "attributes", "cluster-location"})); @@ -106,48 +111,49 @@ class Parser { auto hyphen_count = std::count(cluster_location.begin(), cluster_location.end(), '-'); if (hyphen_count == 1) { - SetAttribute(sc::kCloudRegion, cluster_location); + SetAttribute(sc::cloud::kCloudRegion, cluster_location); } else if (hyphen_count == 2) { - SetAttribute(sc::kCloudAvailabilityZone, cluster_location); + SetAttribute(sc::cloud::kCloudAvailabilityZone, cluster_location); } } void CloudFunctions() { - SetAttribute(sc::kCloudPlatform, "gcp_cloud_functions"); - SetEnvAttribute(sc::kFaasName, "K_SERVICE"); - SetEnvAttribute(sc::kFaasVersion, "K_REVISION"); - SetAttribute(sc::kFaasInstance, Metadata({"instance", "id"})); + SetAttribute(sc::cloud::kCloudPlatform, "gcp_cloud_functions"); + SetEnvAttribute(sc::faas::kFaasName, "K_SERVICE"); + SetEnvAttribute(sc::faas::kFaasVersion, "K_REVISION"); + SetAttribute(sc::faas::kFaasInstance, Metadata({"instance", "id"})); } void CloudRun() { - SetAttribute(sc::kCloudPlatform, "gcp_cloud_run"); - SetEnvAttribute(sc::kFaasName, "K_SERVICE"); - SetEnvAttribute(sc::kFaasVersion, "K_REVISION"); - SetAttribute(sc::kFaasInstance, Metadata({"instance", "id"})); + SetAttribute(sc::cloud::kCloudPlatform, "gcp_cloud_run"); + SetEnvAttribute(sc::faas::kFaasName, "K_SERVICE"); + SetEnvAttribute(sc::faas::kFaasVersion, "K_REVISION"); + SetAttribute(sc::faas::kFaasInstance, Metadata({"instance", "id"})); } void Gae() { - SetAttribute(sc::kCloudPlatform, "gcp_app_engine"); - SetEnvAttribute(sc::kFaasName, "GAE_SERVICE"); - SetEnvAttribute(sc::kFaasVersion, "GAE_VERSION"); - SetEnvAttribute(sc::kFaasInstance, "GAE_INSTANCE"); + SetAttribute(sc::cloud::kCloudPlatform, "gcp_app_engine"); + SetEnvAttribute(sc::faas::kFaasName, "GAE_SERVICE"); + SetEnvAttribute(sc::faas::kFaasVersion, "GAE_VERSION"); + SetEnvAttribute(sc::faas::kFaasInstance, "GAE_INSTANCE"); auto zone = Tail(Metadata({"instance", "zone"})); - SetAttribute(sc::kCloudAvailabilityZone, zone); + SetAttribute(sc::cloud::kCloudAvailabilityZone, zone); auto const pos = zone.rfind('-'); - SetAttribute(sc::kCloudRegion, zone.substr(0, pos)); + SetAttribute(sc::cloud::kCloudRegion, zone.substr(0, pos)); } void Gce() { - SetAttribute(sc::kCloudPlatform, "gcp_compute_engine"); - SetAttribute(sc::kHostType, Tail(Metadata({"instance", "machineType"}))); - SetAttribute(sc::kHostId, Metadata({"instance", "id"})); - SetAttribute(sc::kHostName, Metadata({"instance", "name"})); + SetAttribute(sc::cloud::kCloudPlatform, "gcp_compute_engine"); + SetAttribute(sc::host::kHostType, + Tail(Metadata({"instance", "machineType"}))); + SetAttribute(sc::host::kHostId, Metadata({"instance", "id"})); + SetAttribute(sc::host::kHostName, Metadata({"instance", "name"})); auto zone = Tail(Metadata({"instance", "zone"})); - SetAttribute(sc::kCloudAvailabilityZone, zone); + SetAttribute(sc::cloud::kCloudAvailabilityZone, zone); auto const pos = zone.rfind('-'); - SetAttribute(sc::kCloudRegion, zone.substr(0, pos)); + SetAttribute(sc::cloud::kCloudRegion, zone.substr(0, pos)); } std::string Metadata(std::deque keys) { diff --git a/google/cloud/opentelemetry/internal/resource_detector_impl_test.cc b/google/cloud/opentelemetry/internal/resource_detector_impl_test.cc index bb790c5726305..6ef69ba3b3513 100644 --- a/google/cloud/opentelemetry/internal/resource_detector_impl_test.cc +++ b/google/cloud/opentelemetry/internal/resource_detector_impl_test.cc @@ -25,7 +25,11 @@ #include "google/cloud/testing_util/scoped_log.h" #include "google/cloud/version.h" #include -#include +#include +#include +#include +#include +#include namespace google { namespace cloud { @@ -33,7 +37,7 @@ namespace otel { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; using ::google::cloud::testing_util::MakeMockHttpPayloadSuccess; using ::google::cloud::testing_util::MockHttpPayload; using ::google::cloud::testing_util::MockRestClient; @@ -118,9 +122,8 @@ TEST(ResourceDetector, RetriesTransientConnectionError) { auto resource = detector->Detect(); auto const& attributes = resource.GetAttributes(); - EXPECT_THAT( - attributes, - Not(Contains(OTelAttribute(sc::kCloudProvider, "gcp")))); + EXPECT_THAT(attributes, Not(Contains(OTelAttribute( + sc::cloud::kCloudProvider, "gcp")))); EXPECT_THAT( log.ExtractLines(), @@ -142,9 +145,8 @@ TEST(ResourceDetector, PermanentConnectionError) { auto resource = detector->Detect(); auto const& attributes = resource.GetAttributes(); - EXPECT_THAT( - attributes, - Not(Contains(OTelAttribute(sc::kCloudProvider, "gcp")))); + EXPECT_THAT(attributes, Not(Contains(OTelAttribute( + sc::cloud::kCloudProvider, "gcp")))); EXPECT_THAT(log.ExtractLines(), Contains(AllOf(HasSubstr("Could not query the metadata server"), @@ -172,9 +174,8 @@ TEST(ResourceDetector, HttpError) { auto resource = detector->Detect(); auto const& attributes = resource.GetAttributes(); - EXPECT_THAT( - attributes, - Not(Contains(OTelAttribute(sc::kCloudProvider, "gcp")))); + EXPECT_THAT(attributes, Not(Contains(OTelAttribute( + sc::cloud::kCloudProvider, "gcp")))); EXPECT_THAT(log.ExtractLines(), Contains(AllOf(HasSubstr("Could not query the metadata server"), @@ -209,9 +210,8 @@ TEST(ResourceDetector, ValidatesHeaders) { auto resource = detector->Detect(); auto const& attributes = resource.GetAttributes(); - EXPECT_THAT( - attributes, - Not(Contains(OTelAttribute(sc::kCloudProvider, "gcp")))); + EXPECT_THAT(attributes, Not(Contains(OTelAttribute( + sc::cloud::kCloudProvider, "gcp")))); EXPECT_THAT( log.ExtractLines(), @@ -246,9 +246,8 @@ TEST(ResourceDetector, PayloadReadError) { auto resource = detector->Detect(); auto const& attributes = resource.GetAttributes(); - EXPECT_THAT( - attributes, - Not(Contains(OTelAttribute(sc::kCloudProvider, "gcp")))); + EXPECT_THAT(attributes, Not(Contains(OTelAttribute( + sc::cloud::kCloudProvider, "gcp")))); EXPECT_THAT(log.ExtractLines(), Contains(AllOf(HasSubstr("Could not query the metadata server"), @@ -304,13 +303,14 @@ TEST(ResourceDetector, GkeRegion) { EXPECT_THAT( attributes, IsSupersetOf({ - OTelAttribute(sc::kCloudProvider, "gcp"), - OTelAttribute(sc::kCloudAccountId, "test-project"), - OTelAttribute(sc::kCloudPlatform, + OTelAttribute(sc::cloud::kCloudProvider, "gcp"), + OTelAttribute(sc::cloud::kCloudAccountId, + "test-project"), + OTelAttribute(sc::cloud::kCloudPlatform, "gcp_kubernetes_engine"), - OTelAttribute(sc::kK8sClusterName, "test-cluster"), - OTelAttribute(sc::kHostId, "1020304050607080900"), - OTelAttribute(sc::kCloudRegion, "us-central1"), + OTelAttribute(sc::k8s::kK8sClusterName, "test-cluster"), + OTelAttribute(sc::host::kHostId, "1020304050607080900"), + OTelAttribute(sc::cloud::kCloudRegion, "us-central1"), })); } @@ -336,13 +336,14 @@ TEST(ResourceDetector, GkeZone) { EXPECT_THAT( attributes, IsSupersetOf({ - OTelAttribute(sc::kCloudProvider, "gcp"), - OTelAttribute(sc::kCloudAccountId, "test-project"), - OTelAttribute(sc::kCloudPlatform, + OTelAttribute(sc::cloud::kCloudProvider, "gcp"), + OTelAttribute(sc::cloud::kCloudAccountId, + "test-project"), + OTelAttribute(sc::cloud::kCloudPlatform, "gcp_kubernetes_engine"), - OTelAttribute(sc::kK8sClusterName, "test-cluster"), - OTelAttribute(sc::kHostId, "1020304050607080900"), - OTelAttribute(sc::kCloudAvailabilityZone, + OTelAttribute(sc::k8s::kK8sClusterName, "test-cluster"), + OTelAttribute(sc::host::kHostId, "1020304050607080900"), + OTelAttribute(sc::cloud::kCloudAvailabilityZone, "us-central1-a"), })); } @@ -368,12 +369,15 @@ TEST(ResourceDetector, CloudFunctions) { EXPECT_THAT( attributes, IsSupersetOf({ - OTelAttribute(sc::kCloudProvider, "gcp"), - OTelAttribute(sc::kCloudAccountId, "test-project"), - OTelAttribute(sc::kCloudPlatform, "gcp_cloud_functions"), - OTelAttribute(sc::kFaasName, "test-service"), - OTelAttribute(sc::kFaasVersion, "test-version"), - OTelAttribute(sc::kFaasInstance, "1020304050607080900"), + OTelAttribute(sc::cloud::kCloudProvider, "gcp"), + OTelAttribute(sc::cloud::kCloudAccountId, + "test-project"), + OTelAttribute(sc::cloud::kCloudPlatform, + "gcp_cloud_functions"), + OTelAttribute(sc::faas::kFaasName, "test-service"), + OTelAttribute(sc::faas::kFaasVersion, "test-version"), + OTelAttribute(sc::faas::kFaasInstance, + "1020304050607080900"), })); } @@ -399,12 +403,15 @@ TEST(ResourceDetector, CloudRun) { EXPECT_THAT( attributes, IsSupersetOf({ - OTelAttribute(sc::kCloudProvider, "gcp"), - OTelAttribute(sc::kCloudAccountId, "test-project"), - OTelAttribute(sc::kCloudPlatform, "gcp_cloud_run"), - OTelAttribute(sc::kFaasName, "test-service"), - OTelAttribute(sc::kFaasVersion, "test-version"), - OTelAttribute(sc::kFaasInstance, "1020304050607080900"), + OTelAttribute(sc::cloud::kCloudProvider, "gcp"), + OTelAttribute(sc::cloud::kCloudAccountId, + "test-project"), + OTelAttribute(sc::cloud::kCloudPlatform, + "gcp_cloud_run"), + OTelAttribute(sc::faas::kFaasName, "test-service"), + OTelAttribute(sc::faas::kFaasVersion, "test-version"), + OTelAttribute(sc::faas::kFaasInstance, + "1020304050607080900"), })); } @@ -431,15 +438,17 @@ TEST(ResourceDetector, Gae) { EXPECT_THAT( attributes, IsSupersetOf({ - OTelAttribute(sc::kCloudProvider, "gcp"), - OTelAttribute(sc::kCloudAccountId, "test-project"), - OTelAttribute(sc::kCloudPlatform, "gcp_app_engine"), - OTelAttribute(sc::kFaasName, "test-service"), - OTelAttribute(sc::kFaasVersion, "test-version"), - OTelAttribute(sc::kFaasInstance, "test-instance"), - OTelAttribute(sc::kCloudAvailabilityZone, + OTelAttribute(sc::cloud::kCloudProvider, "gcp"), + OTelAttribute(sc::cloud::kCloudAccountId, + "test-project"), + OTelAttribute(sc::cloud::kCloudPlatform, + "gcp_app_engine"), + OTelAttribute(sc::faas::kFaasName, "test-service"), + OTelAttribute(sc::faas::kFaasVersion, "test-version"), + OTelAttribute(sc::faas::kFaasInstance, "test-instance"), + OTelAttribute(sc::cloud::kCloudAvailabilityZone, "us-central1-a"), - OTelAttribute(sc::kCloudRegion, "us-central1"), + OTelAttribute(sc::cloud::kCloudRegion, "us-central1"), })); } @@ -467,15 +476,17 @@ TEST(ResourceDetector, Gce) { EXPECT_THAT( attributes, IsSupersetOf({ - OTelAttribute(sc::kCloudProvider, "gcp"), - OTelAttribute(sc::kCloudAccountId, "test-project"), - OTelAttribute(sc::kCloudPlatform, "gcp_compute_engine"), - OTelAttribute(sc::kHostType, "c2d-standard-16"), - OTelAttribute(sc::kHostId, "1020304050607080900"), - OTelAttribute(sc::kHostName, "test-instance"), - OTelAttribute(sc::kCloudAvailabilityZone, + OTelAttribute(sc::cloud::kCloudProvider, "gcp"), + OTelAttribute(sc::cloud::kCloudAccountId, + "test-project"), + OTelAttribute(sc::cloud::kCloudPlatform, + "gcp_compute_engine"), + OTelAttribute(sc::host::kHostType, "c2d-standard-16"), + OTelAttribute(sc::host::kHostId, "1020304050607080900"), + OTelAttribute(sc::host::kHostName, "test-instance"), + OTelAttribute(sc::cloud::kCloudAvailabilityZone, "us-central1-a"), - OTelAttribute(sc::kCloudRegion, "us-central1"), + OTelAttribute(sc::cloud::kCloudRegion, "us-central1"), })); } diff --git a/google/cloud/opentelemetry/internal/time_series.cc b/google/cloud/opentelemetry/internal/time_series.cc index effd72a807b3d..5d829f3ab965d 100644 --- a/google/cloud/opentelemetry/internal/time_series.cc +++ b/google/cloud/opentelemetry/internal/time_series.cc @@ -20,8 +20,9 @@ #include #include #include -#include +#include #include +#include namespace google { namespace cloud { @@ -29,7 +30,7 @@ namespace otel_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; google::protobuf::Timestamp ToProtoTimestamp( opentelemetry::common::SystemTimestamp ts) { @@ -40,10 +41,10 @@ google::protobuf::Timestamp ToProtoTimestamp( google::monitoring::v3::TypedValue ToValue( opentelemetry::sdk::metrics::ValueType value) { google::monitoring::v3::TypedValue proto; - if (absl::holds_alternative(value)) { - proto.set_double_value(absl::get(value)); + if (std::holds_alternative(value)) { + proto.set_double_value(std::get(value)); } else { - proto.set_int64_value(absl::get(value)); + proto.set_int64_value(std::get(value)); } return proto; } @@ -62,9 +63,9 @@ google::api::MetricDescriptor::ValueType ToValueType( } double AsDouble(opentelemetry::sdk::metrics::ValueType const& v) { - return absl::holds_alternative(v) - ? absl::get(v) - : static_cast(absl::get(v)); + return std::holds_alternative(v) + ? std::get(v) + : static_cast(std::get(v)); } std::vector ToRequestsHelper( @@ -112,12 +113,21 @@ void ToTimeSeriesHelper( opentelemetry::sdk::metrics::HistogramPointData const& point) { return ToTimeSeries(metric_data, point); } +#if OPENTELEMETRY_VERSION_MAJOR > 1 || \ + (OPENTELEMETRY_VERSION_MAJOR == 1 && OPENTELEMETRY_VERSION_MINOR >= 21) + absl::optional operator()( + opentelemetry::sdk::metrics:: + Base2ExponentialHistogramPointData const&) { + // TODO(#xxxxx): Add support for exponential histograms. + return absl::nullopt; + } +#endif absl::optional operator()( opentelemetry::sdk::metrics::DropPointData const&) { return absl::nullopt; } }; - auto ts = absl::visit(Visitor{metric_data}, pda.point_data); + auto ts = std::visit(Visitor{metric_data}, pda.point_data); if (!ts) continue; ts->set_unit(metric_data.instrument_descriptor.unit_); ts_collector_fn(metric_data, pda, *std::move(ts)); @@ -164,9 +174,9 @@ google::api::Metric ToMetric( // service processes on a single GCE VM. auto const& ra = resource->GetAttributes().GetAttributes(); for (std::string key : { - sc::kServiceName, - sc::kServiceNamespace, - sc::kServiceInstanceId, + sc::service::kServiceName, + sc::service::kServiceNamespace, + sc::service::kServiceInstanceId, }) { auto it = ra.find(std::move(key)); if (it != ra.end()) add_label(labels, it->first, it->second); diff --git a/google/cloud/opentelemetry/internal/time_series_test.cc b/google/cloud/opentelemetry/internal/time_series_test.cc index c436ea715466c..ef2df414ec630 100644 --- a/google/cloud/opentelemetry/internal/time_series_test.cc +++ b/google/cloud/opentelemetry/internal/time_series_test.cc @@ -23,7 +23,9 @@ #include #include #include -#include +#include +#include +#include #include #include @@ -33,7 +35,7 @@ namespace otel_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = opentelemetry::sdk::resource::SemanticConventions; +namespace sc = opentelemetry::semconv; using ::google::cloud::testing_util::IsProtoEqual; using ::google::protobuf::TextFormat; @@ -137,10 +139,10 @@ auto Interval(std::chrono::system_clock::time_point start, auto TestResource() { return opentelemetry::sdk::resource::Resource::Create({ - {sc::kCloudProvider, "gcp"}, - {sc::kCloudPlatform, "gcp_compute_engine"}, - {sc::kHostId, "1020304050607080900"}, - {sc::kCloudAvailabilityZone, "us-central1-a"}, + {sc::cloud::kCloudProvider, "gcp"}, + {sc::cloud::kCloudPlatform, "gcp_compute_engine"}, + {sc::host::kHostId, "1020304050607080900"}, + {sc::cloud::kCloudAvailabilityZone, "us-central1-a"}, }); } @@ -284,9 +286,9 @@ TEST(ToMetric, IncludesServiceLabelsFromResource) { opentelemetry::sdk::resource::ResourceAttributes resource_attributes = { {"unused", "unused"}, - {sc::kServiceName, "test-name"}, - {sc::kServiceNamespace, "test-namespace"}, - {sc::kServiceInstanceId, "test-instance"}, + {sc::service::kServiceName, "test-name"}, + {sc::service::kServiceNamespace, "test-namespace"}, + {sc::service::kServiceInstanceId, "test-instance"}, }; auto resource = opentelemetry::sdk::resource::Resource::Create(resource_attributes); @@ -310,9 +312,9 @@ TEST(ToMetric, PointAttributesOverServiceResourceAttributes) { }; opentelemetry::sdk::resource::ResourceAttributes resource_attributes = { - {sc::kServiceName, "resource-name"}, - {sc::kServiceNamespace, "resource-namespace"}, - {sc::kServiceInstanceId, "resource-instance"}, + {sc::service::kServiceName, "resource-name"}, + {sc::service::kServiceNamespace, "resource-namespace"}, + {sc::service::kServiceInstanceId, "resource-instance"}, }; auto resource = opentelemetry::sdk::resource::Resource::Create(resource_attributes); @@ -333,17 +335,17 @@ TEST(ToMetric, ResourceFilter) { {"service_name", "point-name"}, {"service_namespace", "point-namespace"}, {"service_instance_id", "point-instance"}, - {sc::kServiceName, "resource-name"}, - {sc::kServiceNamespace, "resource-namespace"}, - {sc::kServiceInstanceId, "resource-instance"}, + {sc::service::kServiceName, "resource-name"}, + {sc::service::kServiceNamespace, "resource-namespace"}, + {sc::service::kServiceInstanceId, "resource-instance"}, }; auto resource = opentelemetry::sdk::resource::Resource::Create({}); auto resource_filter_fn = [resource_labels = std::set{ - sc::kServiceName, sc::kServiceNamespace, - sc::kServiceInstanceId}](std::string const& l) { + sc::service::kServiceName, sc::service::kServiceNamespace, + sc::service::kServiceInstanceId}](std::string const& l) { return internal::Contains(resource_labels, l); }; diff --git a/google/cloud/pubsub/internal/batching_publisher_tracing_connection.cc b/google/cloud/pubsub/internal/batching_publisher_tracing_connection.cc index b947776f699e8..f9631e9d25a9f 100644 --- a/google/cloud/pubsub/internal/batching_publisher_tracing_connection.cc +++ b/google/cloud/pubsub/internal/batching_publisher_tracing_connection.cc @@ -16,7 +16,7 @@ #include "google/cloud/pubsub/publisher_connection.h" #include "google/cloud/internal/opentelemetry.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY -#include +#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY namespace google { @@ -36,10 +36,11 @@ class BatchingPublisherTracingConnection : public pubsub::PublisherConnection { ~BatchingPublisherTracingConnection() override = default; future> Publish(PublishParams p) override { - namespace sc = opentelemetry::trace::SemanticConventions; - auto span = internal::MakeSpan( - "publisher batching", - {{sc::kCodeFunction, "pubsub::BatchingPublisherConnection::Publish"}}); + namespace sc = opentelemetry::semconv; + auto span = + internal::MakeSpan("publisher batching", + {{sc::code::kCodeFunctionName, + "pubsub::BatchingPublisherConnection::Publish"}}); auto result = child_->Publish(std::move(p)); internal::EndSpan(*span); return result; diff --git a/google/cloud/pubsub/internal/batching_publisher_tracing_connection_test.cc b/google/cloud/pubsub/internal/batching_publisher_tracing_connection_test.cc index 5705d858de404..9e5159a35829b 100644 --- a/google/cloud/pubsub/internal/batching_publisher_tracing_connection_test.cc +++ b/google/cloud/pubsub/internal/batching_publisher_tracing_connection_test.cc @@ -22,7 +22,7 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include namespace google { namespace cloud { @@ -45,7 +45,7 @@ using ::testing::ElementsAre; using ::testing::SizeIs; TEST(BatchingPublisherTracingConnectionTest, PublishSpan) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, Publish) @@ -72,7 +72,7 @@ TEST(BatchingPublisherTracingConnectionTest, PublishSpan) { SpanWithStatus(opentelemetry::trace::StatusCode::kOk), SpanHasAttributes( OTelAttribute( - sc::kCodeFunction, + sc::code::kCodeFunctionName, "pubsub::BatchingPublisherConnection::Publish"), OTelAttribute("gl-cpp.status_code", "OK"))))); } diff --git a/google/cloud/pubsub/internal/blocking_publisher_tracing_connection.cc b/google/cloud/pubsub/internal/blocking_publisher_tracing_connection.cc index 603d98b58776b..ec8b244947b42 100644 --- a/google/cloud/pubsub/internal/blocking_publisher_tracing_connection.cc +++ b/google/cloud/pubsub/internal/blocking_publisher_tracing_connection.cc @@ -19,8 +19,9 @@ #include "google/cloud/internal/opentelemetry.h" #include "google/cloud/status_or.h" #include +#include +#include #include -#include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY @@ -34,18 +35,20 @@ namespace { opentelemetry::nostd::shared_ptr StartPublishSpan( pubsub::Topic const& topic, pubsub::Message const& m) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kProducer; auto span = internal::MakeSpan( topic.topic_id() + " create", - {{sc::kMessagingSystem, "gcp_pubsub"}, - {sc::kMessagingDestinationName, topic.topic_id()}, + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {sc::messaging::kMessagingDestinationName, topic.topic_id()}, {"gcp.project_id", topic.project_id()}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", "create"}, - {/*sc::kMessagingMessageEnvelopeSize=*/"messaging.message.envelope.size", + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", + "create"}, + {/*sc::messaging::kMessagingMessageEnvelopeSize=*/"messaging.message." + "envelope.size", static_cast(MessageSize(m))}, - {sc::kCodeFunction, "pubsub::BlockingPublisher::Publish"}}, + {sc::code::kCodeFunctionName, "pubsub::BlockingPublisher::Publish"}}, options); if (!m.ordering_key().empty()) { span->SetAttribute("messaging.gcp_pubsub.message.ordering_key", diff --git a/google/cloud/pubsub/internal/blocking_publisher_tracing_connection_test.cc b/google/cloud/pubsub/internal/blocking_publisher_tracing_connection_test.cc index ce29cb4022765..a370c713600c4 100644 --- a/google/cloud/pubsub/internal/blocking_publisher_tracing_connection_test.cc +++ b/google/cloud/pubsub/internal/blocking_publisher_tracing_connection_test.cc @@ -25,7 +25,8 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include +#include namespace google { namespace cloud { @@ -53,7 +54,7 @@ using ::testing::ElementsAre; using ::testing::Not; TEST(BlockingPublisherTracingConnectionTest, PublishSpanOnSuccess) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, Publish) @@ -79,24 +80,27 @@ TEST(BlockingPublisherTracingConnectionTest, PublishSpanOnSuccess) { SpanNamed("test-topic create"), SpanWithStatus(opentelemetry::trace::StatusCode::kOk), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), - OTelAttribute(sc::kMessagingDestinationName, - "test-topic"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), + OTelAttribute( + sc::messaging::kMessagingDestinationName, "test-topic"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( "messaging.gcp_pubsub.message.ordering_key", "ordering-key-0"), OTelAttribute("gl-cpp.status_code", "OK"), - OTelAttribute(/*sc::kMessagingMessageEnvelopeSize=*/ - "messaging.message.envelope.size", - 45), + OTelAttribute< + std:: + int64_t>(/*sc::messaging::kMessagingMessageEnvelopeSize=*/ + "messaging.message.envelope.size", 45), OTelAttribute("messaging.message_id", "test-id-0"), OTelAttribute( - sc::kCodeFunction, "pubsub::BlockingPublisher::Publish"))))); + sc::code::kCodeFunctionName, + "pubsub::BlockingPublisher::Publish"))))); } TEST(BlockingPublisherTracingConnectionTest, PublishSpanOnError) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, Publish) @@ -122,17 +126,19 @@ TEST(BlockingPublisherTracingConnectionTest, PublishSpanOnError) { SpanNamed("test-topic create"), SpanWithStatus(opentelemetry::trace::StatusCode::kError), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), - OTelAttribute(sc::kMessagingDestinationName, - "test-topic"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), + OTelAttribute( + sc::messaging::kMessagingDestinationName, "test-topic"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( "messaging.gcp_pubsub.message.ordering_key", "ordering-key-0"), OTelAttribute("gl-cpp.status_code", kErrorCode), - OTelAttribute(/*sc::kMessagingMessageEnvelopeSize=*/ - "messaging.message.envelope.size", - 45))))); + OTelAttribute< + std:: + int64_t>(/*sc::messaging::kMessagingMessageEnvelopeSize=*/ + "messaging.message.envelope.size", 45))))); } TEST(BlockingPublisherTracingConnectionTest, PublishSpanOmitsOrderingKey) { diff --git a/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection.cc b/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection.cc index 2c70c8d1dc975..93c0c73cd3f5b 100644 --- a/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection.cc +++ b/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection.cc @@ -16,8 +16,8 @@ #include "google/cloud/pubsub/publisher_connection.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include "google/cloud/internal/opentelemetry.h" +#include #include -#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY namespace google { @@ -38,10 +38,10 @@ class FlowControlledPublisherTracingConnection ~FlowControlledPublisherTracingConnection() override = default; future> Publish(PublishParams p) override { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span = internal::MakeSpan( "publisher flow control", - {{sc::kCodeFunction, + {{sc::code::kCodeFunctionName, "pubsub::FlowControlledPublisherConnection::Publish"}}); auto result = child_->Publish(std::move(p)); internal::EndSpan(*span); diff --git a/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection_test.cc b/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection_test.cc index cb6b8942c7426..5a29ff4f9fc74 100644 --- a/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection_test.cc +++ b/google/cloud/pubsub/internal/flow_controlled_publisher_tracing_connection_test.cc @@ -22,7 +22,7 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include namespace google { namespace cloud { @@ -47,7 +47,7 @@ using ::testing::ElementsAre; using ::testing::SizeIs; TEST(FlowControlledPublisherTracingConnectionTest, PublishSpan) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, Publish) @@ -75,7 +75,7 @@ TEST(FlowControlledPublisherTracingConnectionTest, PublishSpan) { SpanWithStatus(opentelemetry::trace::StatusCode::kOk), SpanHasAttributes( OTelAttribute( - sc::kCodeFunction, + sc::code::kCodeFunctionName, "pubsub::FlowControlledPublisherConnection::Publish"), OTelAttribute("gl-cpp.status_code", "OK"))))); } diff --git a/google/cloud/pubsub/internal/publisher_tracing_connection.cc b/google/cloud/pubsub/internal/publisher_tracing_connection.cc index d0156ec3c2a68..f1e19476d35a7 100644 --- a/google/cloud/pubsub/internal/publisher_tracing_connection.cc +++ b/google/cloud/pubsub/internal/publisher_tracing_connection.cc @@ -27,9 +27,10 @@ #include "google/cloud/status_or.h" #include #include +#include +#include #include #include -#include #include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY @@ -44,18 +45,20 @@ namespace { opentelemetry::nostd::shared_ptr StartPublishSpan( pubsub::Topic const& topic, pubsub::Message const& m) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kProducer; auto span = internal::MakeSpan( topic.topic_id() + " create", - {{sc::kMessagingSystem, "gcp_pubsub"}, - {sc::kMessagingDestinationName, topic.topic_id()}, + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {sc::messaging::kMessagingDestinationName, topic.topic_id()}, {"gcp.project_id", topic.project_id()}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", "create"}, - {/*sc::kMessagingMessageEnvelopeSize=*/"messaging.message.envelope.size", + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", + "create"}, + {/*sc::messaging::kMessagingMessageEnvelopeSize=*/"messaging.message." + "envelope.size", static_cast(MessageSize(m))}, - {sc::kCodeFunction, "pubsub::PublisherConnection::Publish"}}, + {sc::code::kCodeFunctionName, "pubsub::PublisherConnection::Publish"}}, options); if (!m.ordering_key().empty()) { span->SetAttribute("messaging.gcp_pubsub.message.ordering_key", @@ -67,10 +70,11 @@ opentelemetry::nostd::shared_ptr StartPublishSpan( future> EndPublishSpan( opentelemetry::nostd::shared_ptr span, future> f) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; return f.then([span = std::move(span)](auto fut) { auto message_id = fut.get(); - if (message_id) span->SetAttribute(sc::kMessagingMessageId, *message_id); + if (message_id) + span->SetAttribute(sc::messaging::kMessagingMessageId, *message_id); return internal::EndSpan(*span, std::move(message_id)); }); } diff --git a/google/cloud/pubsub/internal/publisher_tracing_connection_test.cc b/google/cloud/pubsub/internal/publisher_tracing_connection_test.cc index e5ef264bbc191..44b0d23cee8fe 100644 --- a/google/cloud/pubsub/internal/publisher_tracing_connection_test.cc +++ b/google/cloud/pubsub/internal/publisher_tracing_connection_test.cc @@ -26,7 +26,8 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include +#include namespace google { namespace cloud { @@ -58,7 +59,7 @@ using ::testing::Pair; using ::testing::StartsWith; TEST(PublisherTracingConnectionTest, PublishSpanOnSuccess) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, Publish) @@ -84,28 +85,31 @@ TEST(PublisherTracingConnectionTest, PublishSpanOnSuccess) { SpanNamed("test-topic create"), SpanWithStatus(opentelemetry::trace::StatusCode::kOk), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), - OTelAttribute(sc::kMessagingDestinationName, - "test-topic"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), + OTelAttribute( + sc::messaging::kMessagingDestinationName, "test-topic"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( "messaging.gcp_pubsub.message.ordering_key", "ordering-key-0"), OTelAttribute("gl-cpp.status_code", "OK"), - OTelAttribute(/*sc::kMessagingMessageEnvelopeSize=*/ - "messaging.message.envelope.size", - 45), + OTelAttribute< + std:: + int64_t>(/*sc::messaging::kMessagingMessageEnvelopeSize=*/ + "messaging.message.envelope.size", 45), OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "create"), - OTelAttribute(sc::kMessagingMessageId, "test-id-0"), + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "create"), + OTelAttribute(sc::messaging::kMessagingMessageId, + "test-id-0"), OTelAttribute( - sc::kCodeFunction, + sc::code::kCodeFunctionName, "pubsub::PublisherConnection::Publish"))))); } TEST(PublisherTracingConnectionTest, PublishSpanOnError) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, Publish) @@ -132,20 +136,22 @@ TEST(PublisherTracingConnectionTest, PublishSpanOnError) { SpanNamed("test-topic create"), SpanWithStatus(opentelemetry::trace::StatusCode::kError), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), - OTelAttribute(sc::kMessagingDestinationName, - "test-topic"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), + OTelAttribute( + sc::messaging::kMessagingDestinationName, "test-topic"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( "messaging.gcp_pubsub.message.ordering_key", "ordering-key-0"), OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "create"), + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "create"), OTelAttribute("gl-cpp.status_code", kErrorCode), - OTelAttribute(/*sc::kMessagingMessageEnvelopeSize=*/ - "messaging.message.envelope.size", - 45))))); + OTelAttribute< + std:: + int64_t>(/*sc::messaging::kMessagingMessageEnvelopeSize=*/ + "messaging.message.envelope.size", 45))))); } TEST(PublisherTracingConnectionTest, PublishInjectsTraceContext) { diff --git a/google/cloud/pubsub/internal/subscriber_tracing_connection.cc b/google/cloud/pubsub/internal/subscriber_tracing_connection.cc index dfb9e592d7b8c..6e3cd1380efdf 100644 --- a/google/cloud/pubsub/internal/subscriber_tracing_connection.cc +++ b/google/cloud/pubsub/internal/subscriber_tracing_connection.cc @@ -19,8 +19,9 @@ #include "google/cloud/internal/opentelemetry.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include +#include +#include #include -#include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY @@ -36,16 +37,18 @@ namespace { opentelemetry::nostd::shared_ptr StartPullSpan() { auto const& current = internal::CurrentOptions(); auto const& subscription = current.get(); - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kConsumer; auto span = internal::MakeSpan( subscription.subscription_id() + " receive", - {{sc::kMessagingSystem, "gcp_pubsub"}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", "receive"}, - {sc::kCodeFunction, "pubsub::SubscriberConnection::Pull"}, + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", + "receive"}, + {sc::code::kCodeFunctionName, "pubsub::SubscriberConnection::Pull"}, {"gcp.project_id", subscription.project_id()}, - {sc::kMessagingDestinationName, subscription.subscription_id()}}, + {sc::messaging::kMessagingDestinationName, + subscription.subscription_id()}}, options); return span; } @@ -56,16 +59,18 @@ StatusOr EndPullSpan( opentelemetry::context::propagation::TextMapPropagator> const& propagator, StatusOr response) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; if (response.ok()) { auto message = response.value().message; - span->SetAttribute(sc::kMessagingMessageId, message.message_id()); + span->SetAttribute(sc::messaging::kMessagingMessageId, + message.message_id()); if (!message.ordering_key().empty()) { span->SetAttribute("messaging.gcp_pubsub.message.ordering_key", message.ordering_key()); } span->SetAttribute( - /*sc::kMessagingMessageEnvelopeSize=*/"messaging.message.envelope.size", + /*sc::messaging::kMessagingMessageEnvelopeSize=*/ + "messaging.message.envelope.size", static_cast(MessageSize(message))); auto current = opentelemetry::context::RuntimeContext::GetCurrent(); diff --git a/google/cloud/pubsub/internal/subscriber_tracing_connection_test.cc b/google/cloud/pubsub/internal/subscriber_tracing_connection_test.cc index e4766d3667435..5e2d5cea82fe5 100644 --- a/google/cloud/pubsub/internal/subscriber_tracing_connection_test.cc +++ b/google/cloud/pubsub/internal/subscriber_tracing_connection_test.cc @@ -32,8 +32,9 @@ #include "google/cloud/testing_util/status_matchers.h" #include #include +#include +#include #include -#include namespace google { namespace cloud { @@ -127,7 +128,7 @@ TEST(SubscriberTracingConnectionTest, PullOnError) { } TEST(SubscriberTracingConnectionTest, PullAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, options); @@ -143,25 +144,24 @@ TEST(SubscriberTracingConnectionTest, PullAttributes) { auto response = connection->Pull(); EXPECT_STATUS_OK(response); auto spans = span_catcher->GetSpans(); + EXPECT_THAT(spans, Contains(AllOf( + SpanNamed("test-subscription receive"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription receive"), SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); + sc::code::kCodeFunctionName, + "pubsub::SubscriberConnection::Pull"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription receive"), SpanHasAttributes(OTelAttribute( - sc::kCodeFunction, - "pubsub::SubscriberConnection::Pull"))))); - EXPECT_THAT( - spans, Contains(AllOf( - SpanNamed("test-subscription receive"), - SpanHasAttributes(OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "receive"))))); + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "receive"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription receive"), SpanHasAttributes(OTelAttribute( - sc::kMessagingDestinationName, + sc::messaging::kMessagingDestinationName, TestSubscription().subscription_id()))))); EXPECT_THAT( spans, @@ -171,12 +171,12 @@ TEST(SubscriberTracingConnectionTest, PullAttributes) { EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription receive"), SpanHasAttributes(OTelAttribute( - sc::kMessagingMessageId, _))))); - EXPECT_THAT(spans, - Contains(AllOf(SpanNamed("test-subscription receive"), - SpanHasAttributes(OTelAttribute( - /*sc::kMessagingMessageEnvelopeSize=*/ - "messaging.message.envelope.size", 108))))); + sc::messaging::kMessagingMessageId, _))))); + EXPECT_THAT(spans, Contains(AllOf( + SpanNamed("test-subscription receive"), + SpanHasAttributes(OTelAttribute( + /*sc::messaging::kMessagingMessageEnvelopeSize=*/ + "messaging.message.envelope.size", 108))))); } TEST(SubscriberTracingConnectionTest, PullSetsOrderingKeyAttributeIfExists) { diff --git a/google/cloud/pubsub/internal/subscription_session_test.cc b/google/cloud/pubsub/internal/subscription_session_test.cc index 25ed8030d26d9..2dd2d6056718c 100644 --- a/google/cloud/pubsub/internal/subscription_session_test.cc +++ b/google/cloud/pubsub/internal/subscription_session_test.cc @@ -30,9 +30,9 @@ #include "google/cloud/testing_util/status_matchers.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include +#include #include #include -#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include #include @@ -218,7 +218,7 @@ using ::testing::SizeIs; /// @test Verify callbacks are scheduled in the background threads with Open /// Telemetry enabled. TEST(SubscriptionSessionTest, ScheduleCallbacksWithOtelEnabled) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto constexpr kAckCount = 100; ScheduleCallbacks(kAckCount, /*enable_open_telemetry=*/true); @@ -227,11 +227,11 @@ TEST(SubscriptionSessionTest, ScheduleCallbacksWithOtelEnabled) { // There should be a process and ack span for each message. EXPECT_THAT(spans, SizeIs(Ge(static_cast(2 * kAckCount)))); // Verify there is at least one process span. - EXPECT_THAT( - spans, Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsInternal(), - SpanNamed("test-subscription process"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); + EXPECT_THAT(spans, Contains(AllOf( + SpanHasInstrumentationScope(), SpanKindIsInternal(), + SpanNamed("test-subscription process"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); } #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY diff --git a/google/cloud/pubsub/internal/tracing_batch_callback.cc b/google/cloud/pubsub/internal/tracing_batch_callback.cc index 7585a42a004dc..e2c29b0c35fb1 100644 --- a/google/cloud/pubsub/internal/tracing_batch_callback.cc +++ b/google/cloud/pubsub/internal/tracing_batch_callback.cc @@ -20,8 +20,8 @@ #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include "google/pubsub/v1/pubsub.pb.h" #include +#include #include -#include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY @@ -41,7 +41,7 @@ opentelemetry::nostd::shared_ptr StartSubscribeSpan( opentelemetry::context::propagation::TextMapPropagator> const& propagator, bool exactly_once_delivery_enabled) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kConsumer; auto m = pubsub_internal::FromProto(message.message()); @@ -54,14 +54,16 @@ opentelemetry::nostd::shared_ptr StartSubscribeSpan( auto span = internal::MakeSpan( subscription.subscription_id() + " subscribe", - {{sc::kMessagingSystem, "gcp_pubsub"}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", "subscribe"}, {"gcp.project_id", subscription.project_id()}, - {sc::kMessagingDestinationName, subscription.subscription_id()}, - {sc::kMessagingMessageId, m.message_id()}, - {/*sc::kMessagingMessageEnvelopeSize=*/"messaging.message.envelope." - "size", + {sc::messaging::kMessagingDestinationName, + subscription.subscription_id()}, + {sc::messaging::kMessagingMessageId, m.message_id()}, + {/*sc::messaging::kMessagingMessageEnvelopeSize=*/"messaging.message." + "envelope." + "size", static_cast(MessageSize(m))}, {"messaging.gcp_pubsub.message.ack_id", message.ack_id()}, {"messaging.gcp_pubsub.subscription.exactly_once_delivery", @@ -136,7 +138,7 @@ class TracingBatchCallback : public BatchCallback { } void StartConcurrencyControl(std::string const& ack_id) override { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; std::lock_guard lk(mu_); auto it = spans_by_ack_id_.find(ack_id); if (it == spans_by_ack_id_.end()) return; @@ -144,9 +146,9 @@ class TracingBatchCallback : public BatchCallback { if (!subscribe_span) return; opentelemetry::trace::StartSpanOptions options; options.parent = subscribe_span->GetContext(); - it->second.concurrency_control_span = - internal::MakeSpan("subscriber concurrency control", - {{sc::kMessagingSystem, "gcp_pubsub"}}, options); + it->second.concurrency_control_span = internal::MakeSpan( + "subscriber concurrency control", + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}}, options); } void EndConcurrencyControl(std::string const& ack_id) override { @@ -162,7 +164,7 @@ class TracingBatchCallback : public BatchCallback { } void StartScheduler(std::string const& ack_id) override { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; std::lock_guard lk(mu_); auto spans = spans_by_ack_id_.find(ack_id); if (spans == spans_by_ack_id_.end()) return; @@ -170,9 +172,9 @@ class TracingBatchCallback : public BatchCallback { if (!subscribe_span) return; opentelemetry::trace::StartSpanOptions options; options.parent = subscribe_span->GetContext(); - spans->second.scheduler_span = - internal::MakeSpan("subscriber scheduler", - {{sc::kMessagingSystem, "gcp_pubsub"}}, options); + spans->second.scheduler_span = internal::MakeSpan( + "subscriber scheduler", + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}}, options); } void EndScheduler(std::string const& ack_id) override { @@ -185,7 +187,7 @@ class TracingBatchCallback : public BatchCallback { Span StartModackSpan( google::pubsub::v1::ModifyAckDeadlineRequest const& request) override { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; using Attributes = std::vector>; @@ -207,13 +209,15 @@ class TracingBatchCallback : public BatchCallback { options.kind = opentelemetry::trace::SpanKind::kClient; auto span = internal::MakeSpan( subscription_.subscription_id() + " modack", - {{sc::kMessagingSystem, "gcp_pubsub"}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", "extend"}, - {sc::kMessagingBatchMessageCount, + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", + "extend"}, + {sc::messaging::kMessagingBatchMessageCount, static_cast(request.ack_ids().size())}, {"messaging.gcp_pubsub.message.ack_deadline_seconds", static_cast(request.ack_deadline_seconds())}, - {sc::kMessagingDestinationName, subscription_.subscription_id()}, + {sc::messaging::kMessagingDestinationName, + subscription_.subscription_id()}, {"gcp.project_id", subscription_.project_id()}}, std::move(links), options); diff --git a/google/cloud/pubsub/internal/tracing_batch_callback_test.cc b/google/cloud/pubsub/internal/tracing_batch_callback_test.cc index 92ecacb68167e..89058a02e7c56 100644 --- a/google/cloud/pubsub/internal/tracing_batch_callback_test.cc +++ b/google/cloud/pubsub/internal/tracing_batch_callback_test.cc @@ -28,9 +28,9 @@ #include "google/cloud/testing_util/status_matchers.h" #include #include +#include #include #include -#include namespace google { namespace cloud { @@ -135,7 +135,7 @@ TEST(TracingBatchCallback, VerifySpanIsSetInUserCallback) { } TEST(TracingBatchCallback, StartAndEndModackSpanForOneMessage) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, callback).Times(1); @@ -157,21 +157,23 @@ TEST(TracingBatchCallback, StartAndEndModackSpanForOneMessage) { SpanHasInstrumentationScope(), SpanKindIsClient(), SpanNamed("test-sub modack"), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "extend"), - OTelAttribute(sc::kMessagingBatchMessageCount, 1), + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "extend"), + OTelAttribute(sc::messaging::kMessagingBatchMessageCount, + 1), OTelAttribute( "messaging.gcp_pubsub.message.ack_deadline_seconds", 10), - OTelAttribute(sc::kMessagingDestinationName, - "test-sub")), + OTelAttribute( + sc::messaging::kMessagingDestinationName, "test-sub")), SpanLinksSizeIs(1)))); } TEST(TracingBatchCallback, StartAndEndModackSpanForMultipleMessages) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, callback).Times(1); @@ -195,16 +197,18 @@ TEST(TracingBatchCallback, StartAndEndModackSpanForMultipleMessages) { SpanHasInstrumentationScope(), SpanKindIsClient(), SpanNamed("test-sub modack"), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "extend"), - OTelAttribute(sc::kMessagingBatchMessageCount, 2), + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "extend"), + OTelAttribute(sc::messaging::kMessagingBatchMessageCount, + 2), OTelAttribute( "messaging.gcp_pubsub.message.ack_deadline_seconds", 10), - OTelAttribute(sc::kMessagingDestinationName, - "test-sub")), + OTelAttribute( + sc::messaging::kMessagingDestinationName, "test-sub")), SpanLinksSizeIs(2)))); } @@ -233,7 +237,7 @@ TEST(TracingBatchCallback, VerifyModackSpansAreEndedInDestructor) { } TEST(TracingBatchCallback, SubscribeAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, callback).Times(1); @@ -248,17 +252,19 @@ TEST(TracingBatchCallback, SubscribeAttributes) { Contains(AllOf( SpanNamed("test-sub subscribe"), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "subscribe"), - OTelAttribute(sc::kMessagingMessageId, "id-0"), + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "subscribe"), + OTelAttribute(sc::messaging::kMessagingMessageId, + "id-0"), OTelAttribute("messaging.gcp_pubsub.message.ack_id", "ack-id-0"), OTelAttribute("messaging.message.envelope.size", 101), - OTelAttribute(sc::kMessagingDestinationName, - "test-sub"))))); + OTelAttribute( + sc::messaging::kMessagingDestinationName, "test-sub"))))); } TEST(TracingBatchCallback, SubscribeAttributesForOrderingKey) { @@ -331,7 +337,7 @@ TEST(TracingBatchCallback, SubscribeAttributesForExactlyOnce) { } TEST(TracingBatchCallback, StartAndEndConcurrencyControlSpan) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, callback).Times(1); @@ -343,15 +349,15 @@ TEST(TracingBatchCallback, StartAndEndConcurrencyControlSpan) { batch_callback->AckEnd("ack-id-0"); auto spans = span_catcher->GetSpans(); - EXPECT_THAT( - spans, Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsInternal(), - SpanNamed("subscriber concurrency control"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); + EXPECT_THAT(spans, Contains(AllOf( + SpanHasInstrumentationScope(), SpanKindIsInternal(), + SpanNamed("subscriber concurrency control"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); } TEST(TracingBatchCallback, StartAndEndSchedulerSpan) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, callback).Times(1); @@ -363,11 +369,11 @@ TEST(TracingBatchCallback, StartAndEndSchedulerSpan) { batch_callback->AckEnd("ack-id-0"); auto spans = span_catcher->GetSpans(); - EXPECT_THAT( - spans, Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsInternal(), - SpanNamed("subscriber scheduler"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); + EXPECT_THAT(spans, Contains(AllOf( + SpanHasInstrumentationScope(), SpanKindIsInternal(), + SpanNamed("subscriber scheduler"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); } TEST(TracingBatchCallback, VerifyDestructorEndsAllSpans) { diff --git a/google/cloud/pubsub/internal/tracing_batch_sink.cc b/google/cloud/pubsub/internal/tracing_batch_sink.cc index a4782985e09d1..16bb4ab75c8a7 100644 --- a/google/cloud/pubsub/internal/tracing_batch_sink.cc +++ b/google/cloud/pubsub/internal/tracing_batch_sink.cc @@ -21,8 +21,10 @@ #include "google/cloud/future.h" #include "google/cloud/internal/opentelemetry.h" #include +#include +#include +#include #include -#include #include #include #include @@ -60,23 +62,23 @@ auto MakeLinks(Spans::const_iterator begin, Spans::const_iterator end) { auto MakeParent(Links const& links, Spans const& message_spans, pubsub::Topic const& topic, std::string const& endpoint) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto options = RootStartSpanOptions(); options.kind = opentelemetry::trace::SpanKind::kClient; - auto batch_sink_parent = - internal::MakeSpan(topic.topic_id() + " publish", - /*attributes=*/ - {{sc::kMessagingBatchMessageCount, - static_cast(message_spans.size())}, - {sc::kCodeFunction, "BatchSink::AsyncPublish"}, - {/*sc::kMessagingOperationType=*/ - "messaging.operation.type", "publish"}, - {sc::kThreadId, internal::CurrentThreadId()}, - {sc::kMessagingSystem, "gcp_pubsub"}, - {/*sc::kServerAddress=*/"server.address", endpoint}, - {"gcp.project_id", topic.project_id()}, - {sc::kMessagingDestinationName, topic.topic_id()}}, - /*links*/ std::move(links), options); + auto batch_sink_parent = internal::MakeSpan( + topic.topic_id() + " publish", + /*attributes=*/ + {{sc::messaging::kMessagingBatchMessageCount, + static_cast(message_spans.size())}, + {sc::code::kCodeFunctionName, "BatchSink::AsyncPublish"}, + {/*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "publish"}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, + {sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {/*sc::kServerAddress=*/"server.address", endpoint}, + {"gcp.project_id", topic.project_id()}, + {sc::messaging::kMessagingDestinationName, topic.topic_id()}}, + /*links*/ std::move(links), options); auto context = batch_sink_parent->GetContext(); auto trace_id = internal::ToString(context.trace_id()); diff --git a/google/cloud/pubsub/internal/tracing_batch_sink_test.cc b/google/cloud/pubsub/internal/tracing_batch_sink_test.cc index 80c56e6d506a2..d01d6967d84d6 100644 --- a/google/cloud/pubsub/internal/tracing_batch_sink_test.cc +++ b/google/cloud/pubsub/internal/tracing_batch_sink_test.cc @@ -25,7 +25,9 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include +#include +#include namespace google { namespace cloud { @@ -149,7 +151,7 @@ TEST(TracingBatchSink, AddMessageAddsEvent) { } TEST(TracingBatchSink, AsyncPublish) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto message_span = MakeSpan("test span"); auto mock = std::make_unique(); @@ -169,17 +171,17 @@ TEST(TracingBatchSink, AsyncPublish) { EXPECT_THAT(response, IsOk()); auto spans = span_catcher->GetSpans(); - EXPECT_THAT(spans, - Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingBatchMessageCount, 1)), - SpanHasLinks(AllOf(LinkHasSpanContext( - message_span->GetContext())))))); + EXPECT_THAT( + spans, Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), + SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingBatchMessageCount, 1)), + SpanHasLinks(AllOf(LinkHasSpanContext( + message_span->GetContext())))))); } TEST(TracingBatchSink, PublishSpanHasAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto message_span = MakeSpan("test span"); auto mock = std::make_unique(); @@ -200,21 +202,21 @@ TEST(TracingBatchSink, PublishSpanHasAttributes) { EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-topic publish"), SpanHasAttributes(OTelAttribute( - sc::kThreadId, _))))); - EXPECT_THAT(spans, Contains(AllOf( - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kCodeFunction, "BatchSink::AsyncPublish"))))); - EXPECT_THAT( - spans, Contains(AllOf( - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "publish"))))); + sc::thread::kThreadId, _))))); + EXPECT_THAT(spans, + Contains(AllOf(SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::code::kCodeFunctionName, + "BatchSink::AsyncPublish"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-topic publish"), SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "publish"))))); + EXPECT_THAT(spans, Contains(AllOf( + SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); EXPECT_THAT( spans, Contains(AllOf(SpanNamed("test-topic publish"), SpanHasAttributes(OTelAttribute( @@ -223,11 +225,11 @@ TEST(TracingBatchSink, PublishSpanHasAttributes) { Contains(AllOf(SpanNamed("test-topic publish"), SpanHasAttributes(OTelAttribute( "server.address", kDefaultEndpoint))))); - EXPECT_THAT( - spans, Contains(AllOf( - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingDestinationName, TestTopic().topic_id()))))); + EXPECT_THAT(spans, + Contains(AllOf(SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingDestinationName, + TestTopic().topic_id()))))); } #if OPENTELEMETRY_VERSION_MAJOR >= 2 || \ @@ -257,7 +259,7 @@ TEST(TracingBatchSink, PublishSpanIsRoot) { #endif TEST(TracingBatchSink, AsyncPublishOnlyIncludeSampledLink) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; // Create span before the span catcher so it is not sampled. auto unsampled_span = MakeSpan("test skipped span"); auto span_catcher = InstallSpanCatcher(); @@ -277,17 +279,17 @@ TEST(TracingBatchSink, AsyncPublishOnlyIncludeSampledLink) { EXPECT_THAT(response, IsOk()); auto spans = span_catcher->GetSpans(); - EXPECT_THAT(spans, - Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingBatchMessageCount, 2)), - SpanLinksAre(AllOf(LinkHasSpanContext( - message_span->GetContext())))))); + EXPECT_THAT( + spans, Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), + SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingBatchMessageCount, 2)), + SpanLinksAre(AllOf(LinkHasSpanContext( + message_span->GetContext())))))); } TEST(TracingBatchSink, AsyncPublishSmallBatch) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto message_span1 = MakeSpan("test span 1"); auto message_span2 = MakeSpan("test span 2"); @@ -310,14 +312,14 @@ TEST(TracingBatchSink, AsyncPublishSmallBatch) { Contains(AllOf( SpanHasInstrumentationScope(), SpanKindIsClient(), SpanNamed("test-topic publish"), - SpanHasAttributes( - OTelAttribute(sc::kMessagingBatchMessageCount, 2)), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingBatchMessageCount, 2)), SpanHasLinks(LinkHasSpanContext(message_span1->GetContext()), LinkHasSpanContext(message_span2->GetContext()))))); } TEST(TracingBatchSink, AsyncPublishBatchWithOtelLimit) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto mock = std::make_unique(); EXPECT_CALL(*mock, AddMessage(_)).Times(kDefaultMaxLinks); EXPECT_CALL(*mock, AsyncPublish) @@ -332,17 +334,17 @@ TEST(TracingBatchSink, AsyncPublishBatchWithOtelLimit) { EXPECT_THAT(response, IsOk()); auto spans = span_catcher->GetSpans(); - EXPECT_THAT( - spans, - Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingBatchMessageCount, kDefaultMaxLinks)), - SpanLinksSizeIs(kDefaultMaxLinks)))); + EXPECT_THAT(spans, + Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), + SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingBatchMessageCount, + kDefaultMaxLinks)), + SpanLinksSizeIs(kDefaultMaxLinks)))); } TEST(TracingBatchSink, AsyncPublishLargeBatch) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto const batch_size = kDefaultMaxLinks + 1; auto mock = std::make_shared(); EXPECT_CALL(*mock, AddMessage(_)).Times(batch_size); @@ -359,10 +361,11 @@ TEST(TracingBatchSink, AsyncPublishLargeBatch) { EXPECT_THAT(response, IsOk()); auto spans = span_catcher->GetSpans(); - EXPECT_THAT(spans, Contains(AllOf( - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingBatchMessageCount, batch_size))))); + EXPECT_THAT(spans, + Contains(AllOf(SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingBatchMessageCount, + batch_size))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("publish #0"), SpanKindIsClient(), SpanLinksSizeIs(kDefaultMaxLinks)))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("publish #1"), SpanKindIsClient(), @@ -370,7 +373,7 @@ TEST(TracingBatchSink, AsyncPublishLargeBatch) { } TEST(TracingBatchSink, AsyncPublishBatchWithCustomLimit) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto constexpr kMaxLinks = 5; auto constexpr kBatchSize = 6; auto mock = std::make_unique(); @@ -390,11 +393,12 @@ TEST(TracingBatchSink, AsyncPublishBatchWithCustomLimit) { EXPECT_THAT(response, IsOk()); auto spans = span_catcher->GetSpans(); - EXPECT_THAT(spans, Contains(AllOf( - SpanHasInstrumentationScope(), SpanKindIsClient(), - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingBatchMessageCount, kBatchSize))))); + EXPECT_THAT(spans, + Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), + SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingBatchMessageCount, + kBatchSize))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("publish #0"), SpanKindIsClient(), SpanLinksSizeIs(kMaxLinks)))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("publish #1"), SpanKindIsClient(), @@ -455,7 +459,7 @@ TEST(TracingBatchSink, AsyncPublishAddsEventForMultipleMessages) { } TEST(TracingBatchSink, Scope) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto message_span = MakeSpan("test span"); auto mock = std::make_unique(); @@ -483,13 +487,13 @@ TEST(TracingBatchSink, Scope) { EXPECT_THAT(response, IsOk()); auto spans = span_catcher->GetSpans(); - EXPECT_THAT(spans, - Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), - SpanNamed("test-topic publish"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingBatchMessageCount, 1)), - SpanHasLinks(AllOf(LinkHasSpanContext( - message_span->GetContext())))))); + EXPECT_THAT( + spans, Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsClient(), + SpanNamed("test-topic publish"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingBatchMessageCount, 1)), + SpanHasLinks(AllOf(LinkHasSpanContext( + message_span->GetContext())))))); } TEST(TracingBatchSink, ResumePublish) { diff --git a/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler.cc b/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler.cc index 26071c91811c9..075a7a3f5ccad 100644 --- a/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler.cc +++ b/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler.cc @@ -20,8 +20,9 @@ #include "google/cloud/status.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include +#include +#include #include -#include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include @@ -61,21 +62,21 @@ class TracingExactlyOnceAckHandler links.emplace_back( std::make_pair(subscribe_span_->GetContext(), Attributes{})); } - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options = RootStartSpanOptions(); options.kind = opentelemetry::trace::SpanKind::kInternal; auto sub = subscription(); auto span = internal::MakeSpan( sub.subscription_id() + " ack", - {{sc::kCodeFunction, "pubsub::AckHandler::ack"}, - {sc::kMessagingSystem, "gcp_pubsub"}, + {{sc::code::kCodeFunctionName, "pubsub::AckHandler::ack"}, + {sc::messaging::kMessagingSystem, "gcp_pubsub"}, {"messaging.gcp_pubsub.message.ack_id", ack_id()}, {"messaging.gcp_pubsub.subscription.template", sub.FullName()}, {"gcp.project_id", sub.project_id()}, - {sc::kMessagingDestinationName, sub.subscription_id()}, + {sc::messaging::kMessagingDestinationName, sub.subscription_id()}, {"messaging.gcp_pubsub.message.delivery_attempt", static_cast(delivery_attempt())}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", "settle"}}, std::move(links), options); auto scope = internal::OTelScope(span); @@ -91,21 +92,21 @@ class TracingExactlyOnceAckHandler links.emplace_back( std::make_pair(subscribe_span_->GetContext(), Attributes{})); } - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options = RootStartSpanOptions(); options.kind = opentelemetry::trace::SpanKind::kInternal; auto sub = subscription(); auto span = internal::MakeSpan( sub.subscription_id() + " nack", - {{sc::kCodeFunction, "pubsub::AckHandler::nack"}, - {sc::kMessagingSystem, "gcp_pubsub"}, + {{sc::code::kCodeFunctionName, "pubsub::AckHandler::nack"}, + {sc::messaging::kMessagingSystem, "gcp_pubsub"}, {"messaging.gcp_pubsub.message.ack_id", ack_id()}, {"messaging.gcp_pubsub.subscription.template", sub.FullName()}, {"gcp.project_id", sub.project_id()}, - {sc::kMessagingDestinationName, sub.subscription_id()}, + {sc::messaging::kMessagingDestinationName, sub.subscription_id()}, {"messaging.gcp_pubsub.message.delivery_attempt", static_cast(delivery_attempt())}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", "settle"}}, std::move(links), options); diff --git a/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler_test.cc b/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler_test.cc index 402bfc831f77e..45490604e319d 100644 --- a/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler_test.cc +++ b/google/cloud/pubsub/internal/tracing_exactly_once_ack_handler_test.cc @@ -22,7 +22,8 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include +#include namespace google { namespace cloud { @@ -147,7 +148,7 @@ TEST(TracingExactlyOnceAckHandlerTest, AckError) { } TEST(TracingAckHandlerTest, AckAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_unique(); EXPECT_CALL(*mock, ack()) @@ -162,17 +163,19 @@ TEST(TracingAckHandlerTest, AckAttributes) { ElementsAre(AllOf( SpanNamed("test-subscription ack"), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "settle"), - OTelAttribute(sc::kCodeFunction, + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "settle"), + OTelAttribute(sc::code::kCodeFunctionName, "pubsub::AckHandler::ack"), OTelAttribute( "messaging.gcp_pubsub.message.delivery_attempt", 42), - OTelAttribute(sc::kMessagingDestinationName, - "test-subscription"))))); + OTelAttribute( + sc::messaging::kMessagingDestinationName, + "test-subscription"))))); } TEST(TracingExactlyOnceAckHandlerTest, NackSuccess) { @@ -255,7 +258,7 @@ TEST(TracingExactlyOnceAckHandlerTest, NackSuccessWithNoSubscribeSpan) { } TEST(TracingAckHandlerTest, NackAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_unique(); EXPECT_CALL(*mock, nack()) @@ -270,17 +273,19 @@ TEST(TracingAckHandlerTest, NackAttributes) { ElementsAre(AllOf( SpanNamed("test-subscription nack"), SpanHasAttributes( - OTelAttribute(sc::kMessagingSystem, "gcp_pubsub"), + OTelAttribute(sc::messaging::kMessagingSystem, + "gcp_pubsub"), OTelAttribute("gcp.project_id", "test-project"), OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "settle"), - OTelAttribute(sc::kCodeFunction, + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "settle"), + OTelAttribute(sc::code::kCodeFunctionName, "pubsub::AckHandler::nack"), OTelAttribute( "messaging.gcp_pubsub.message.delivery_attempt", 42), - OTelAttribute(sc::kMessagingDestinationName, - "test-subscription"))))); + OTelAttribute( + sc::messaging::kMessagingDestinationName, + "test-subscription"))))); } TEST(TracingAckHandlerTest, DeliveryAttempt) { diff --git a/google/cloud/pubsub/internal/tracing_message_callback.cc b/google/cloud/pubsub/internal/tracing_message_callback.cc index 18eb90315671b..0eb46b73ccf7d 100644 --- a/google/cloud/pubsub/internal/tracing_message_callback.cc +++ b/google/cloud/pubsub/internal/tracing_message_callback.cc @@ -19,7 +19,7 @@ #include "google/cloud/pubsub/version.h" #include "google/cloud/internal/opentelemetry.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY -#include +#include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY @@ -43,14 +43,14 @@ class TracingMessageCallback : public MessageCallback { ~TracingMessageCallback() override = default; void user_callback(MessageAndHandler m) override { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; if (m.subscribe_span.span) { options.parent = m.subscribe_span.span->GetContext(); } - auto span = - internal::MakeSpan(subscription_id_ + " process", - {{sc::kMessagingSystem, "gcp_pubsub"}}, options); + auto span = internal::MakeSpan( + subscription_id_ + " process", + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}}, options); m.ack_handler = MakeTracingExactlyOnceAckHandler(std::move(m.ack_handler), m.subscribe_span); child_->user_callback(std::move(m)); diff --git a/google/cloud/pubsub/internal/tracing_message_callback_test.cc b/google/cloud/pubsub/internal/tracing_message_callback_test.cc index b1455afbc2e21..1d53dc8017c96 100644 --- a/google/cloud/pubsub/internal/tracing_message_callback_test.cc +++ b/google/cloud/pubsub/internal/tracing_message_callback_test.cc @@ -26,9 +26,9 @@ #include "google/cloud/testing_util/status_matchers.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include +#include #include #include -#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include @@ -63,7 +63,7 @@ std::shared_ptr MakeTestMessageCallback( } TEST(TracingMessageCallback, UserCallback) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, user_callback).Times(1); @@ -83,12 +83,12 @@ TEST(TracingMessageCallback, UserCallback) { spans, Contains(AllOf(SpanHasInstrumentationScope(), SpanKindIsInternal(), SpanNamed("test-sub process"), SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub")), + sc::messaging::kMessagingSystem, "gcp_pubsub")), SpanWithParent(span)))); } TEST(TracingMessageCallback, AddTracingAckHandler) { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock_handler = std::make_unique(); @@ -125,7 +125,7 @@ TEST(TracingMessageCallback, AddTracingAckHandler) { AllOf(SpanHasInstrumentationScope(), SpanKindIsInternal(), SpanNamed("test-sub process"), SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub")), + sc::messaging::kMessagingSystem, "gcp_pubsub")), SpanWithParent(span)), SpanNamed("test-sub ack"))); } diff --git a/google/cloud/pubsub/internal/tracing_pull_ack_handler.cc b/google/cloud/pubsub/internal/tracing_pull_ack_handler.cc index ec174057ff4d5..84eaf4c48d5b1 100644 --- a/google/cloud/pubsub/internal/tracing_pull_ack_handler.cc +++ b/google/cloud/pubsub/internal/tracing_pull_ack_handler.cc @@ -19,8 +19,9 @@ #include "google/cloud/status.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include +#include +#include #include -#include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include @@ -48,27 +49,28 @@ class TracingPullAckHandler : public pubsub::PullAckHandler::Impl { TracingAttributes MakeSharedAttributes( std::string const& ack_id, pubsub::Subscription const& subscription) { - namespace sc = opentelemetry::trace::SemanticConventions; - return TracingAttributes{ - {sc::kMessagingSystem, "gcp_pubsub"}, - {"messaging.gcp_pubsub.message.ack_id", ack_id}, - {"messaging.gcp_pubsub.message.delivery_attempt", - child_->delivery_attempt()}, - {"gcp.project_id", subscription.project_id()}, - {sc::kMessagingDestinationName, subscription.subscription_id()}}; + namespace sc = opentelemetry::semconv; + return TracingAttributes{{sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {"messaging.gcp_pubsub.message.ack_id", ack_id}, + {"messaging.gcp_pubsub.message.delivery_attempt", + child_->delivery_attempt()}, + {"gcp.project_id", subscription.project_id()}, + {sc::messaging::kMessagingDestinationName, + subscription.subscription_id()}}; } future ack() override { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kClient; auto const ack_id = child_->ack_id(); auto const subscription = child_->subscription(); TracingAttributes attributes = MakeSharedAttributes(ack_id, subscription); - attributes.emplace_back( - std::make_pair(sc::kCodeFunction, "pubsub::PullAckHandler::ack")); + attributes.emplace_back(std::make_pair(sc::code::kCodeFunctionName, + "pubsub::PullAckHandler::ack")); attributes.emplace_back(std::make_pair( - /*sc::kMessagingOperationType=*/"messaging.operation.type", "ack")); + /*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", + "ack")); auto span = internal::MakeSpan(subscription.subscription_id() + " ack", attributes, CreateLinks(consumer_span_context_), options); @@ -85,16 +87,17 @@ class TracingPullAckHandler : public pubsub::PullAckHandler::Impl { } future nack() override { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions options; options.kind = opentelemetry::trace::SpanKind::kClient; auto const ack_id = child_->ack_id(); auto const subscription = child_->subscription(); TracingAttributes attributes = MakeSharedAttributes(ack_id, subscription); - attributes.emplace_back( - std::make_pair(sc::kCodeFunction, "pubsub::PullAckHandler::nack")); + attributes.emplace_back(std::make_pair(sc::code::kCodeFunctionName, + "pubsub::PullAckHandler::nack")); attributes.emplace_back(std::make_pair( - /*sc::kMessagingOperationType=*/"messaging.operation.type", "nack")); + /*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", + "nack")); auto span = internal::MakeSpan(subscription.subscription_id() + " nack", attributes, CreateLinks(consumer_span_context_), options); diff --git a/google/cloud/pubsub/internal/tracing_pull_ack_handler_test.cc b/google/cloud/pubsub/internal/tracing_pull_ack_handler_test.cc index 52a485588bab2..a1594f9a9911b 100644 --- a/google/cloud/pubsub/internal/tracing_pull_ack_handler_test.cc +++ b/google/cloud/pubsub/internal/tracing_pull_ack_handler_test.cc @@ -22,7 +22,8 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include +#include namespace google { namespace cloud { @@ -94,7 +95,7 @@ TEST(TracingAckHandlerTest, AckError) { } TEST(TracingAckHandlerTest, AckAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_unique(); EXPECT_CALL(*mock, ack()) @@ -104,35 +105,34 @@ TEST(TracingAckHandlerTest, AckAttributes) { EXPECT_THAT(std::move(handler->ack()).get(), StatusIs(StatusCode::kOk)); auto spans = span_catcher->GetSpans(); + EXPECT_THAT(spans, Contains(AllOf( + SpanNamed("test-subscription ack"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription ack"), SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); + "gcp.project_id", "test-project"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription ack"), SpanHasAttributes(OTelAttribute( - "gcp.project_id", "test-project"))))); - EXPECT_THAT( - spans, Contains(AllOf( - SpanNamed("test-subscription ack"), - SpanHasAttributes(OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "ack"))))); - EXPECT_THAT( - spans, - Contains(AllOf(SpanNamed("test-subscription ack"), - SpanHasAttributes(OTelAttribute( - sc::kCodeFunction, "pubsub::PullAckHandler::ack"))))); + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "ack"))))); + EXPECT_THAT(spans, + Contains(AllOf(SpanNamed("test-subscription ack"), + SpanHasAttributes(OTelAttribute( + sc::code::kCodeFunctionName, + "pubsub::PullAckHandler::ack"))))); EXPECT_THAT(spans, Contains(AllOf( SpanNamed("test-subscription ack"), SpanHasAttributes(OTelAttribute( "messaging.gcp_pubsub.message.delivery_attempt", 42))))); EXPECT_THAT(spans, - Contains(AllOf( - SpanNamed("test-subscription ack"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingDestinationName, "test-subscription"))))); + Contains(AllOf(SpanNamed("test-subscription ack"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingDestinationName, + "test-subscription"))))); } TEST(TracingAckHandlerTest, NackSuccess) { @@ -170,7 +170,7 @@ TEST(TracingAckHandlerTest, NackError) { } TEST(TracingAckHandlerTest, NackAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_unique(); EXPECT_CALL(*mock, nack()) @@ -180,35 +180,34 @@ TEST(TracingAckHandlerTest, NackAttributes) { EXPECT_THAT(std::move(handler->nack()).get(), StatusIs(StatusCode::kOk)); auto spans = span_catcher->GetSpans(); + EXPECT_THAT(spans, Contains(AllOf( + SpanNamed("test-subscription nack"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription nack"), SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); - EXPECT_THAT( - spans, Contains(AllOf( - SpanNamed("test-subscription nack"), - SpanHasAttributes(OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "nack"))))); + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "nack"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription nack"), SpanHasAttributes(OTelAttribute( "gcp.project_id", "test-project"))))); - EXPECT_THAT( - spans, - Contains(AllOf(SpanNamed("test-subscription nack"), - SpanHasAttributes(OTelAttribute( - sc::kCodeFunction, "pubsub::PullAckHandler::nack"))))); + EXPECT_THAT(spans, + Contains(AllOf(SpanNamed("test-subscription nack"), + SpanHasAttributes(OTelAttribute( + sc::code::kCodeFunctionName, + "pubsub::PullAckHandler::nack"))))); EXPECT_THAT(spans, Contains(AllOf( SpanNamed("test-subscription nack"), SpanHasAttributes(OTelAttribute( "messaging.gcp_pubsub.message.delivery_attempt", 42))))); EXPECT_THAT(spans, - Contains(AllOf( - SpanNamed("test-subscription nack"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingDestinationName, "test-subscription"))))); + Contains(AllOf(SpanNamed("test-subscription nack"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingDestinationName, + "test-subscription"))))); } TEST(TracingAckHandlerTest, DeliveryAttemptNoSpans) { diff --git a/google/cloud/pubsub/internal/tracing_pull_lease_manager.cc b/google/cloud/pubsub/internal/tracing_pull_lease_manager.cc index bfe610b4e92f9..8782283a314f9 100644 --- a/google/cloud/pubsub/internal/tracing_pull_lease_manager.cc +++ b/google/cloud/pubsub/internal/tracing_pull_lease_manager.cc @@ -20,7 +20,8 @@ #include "google/cloud/internal/opentelemetry.h" #include "google/cloud/status.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY -#include +#include +#include #include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include @@ -51,20 +52,22 @@ class TracingPullLeaseManagerImpl : public PullLeaseManagerImpl { std::shared_ptr context, google::cloud::internal::ImmutableOptions options, google::pubsub::v1::ModifyAckDeadlineRequest const& request) override { - namespace sc = opentelemetry::trace::SemanticConventions; + namespace sc = opentelemetry::semconv; opentelemetry::trace::StartSpanOptions start_span_options = RootStartSpanOptions(); start_span_options.kind = opentelemetry::trace::SpanKind::kClient; auto span = internal::MakeSpan( subscription_.subscription_id() + " modack", - {{sc::kMessagingSystem, "gcp_pubsub"}, - {/*sc::kMessagingOperationType=*/"messaging.operation.type", "modack"}, - {sc::kCodeFunction, "pubsub::PullLeaseManager::ExtendLease"}, + {{sc::messaging::kMessagingSystem, "gcp_pubsub"}, + {/*sc::messaging::kMessagingOperationType=*/"messaging.operation.type", + "modack"}, + {sc::code::kCodeFunctionName, "pubsub::PullLeaseManager::ExtendLease"}, {"messaging.gcp_pubsub.message.ack_id", ack_id_}, {"messaging.gcp_pubsub.message.ack_deadline_seconds", static_cast(request.ack_deadline_seconds())}, {"gcp.project_id", subscription_.project_id()}, - {sc::kMessagingDestinationName, subscription_.subscription_id()}}, + {sc::messaging::kMessagingDestinationName, + subscription_.subscription_id()}}, CreateLinks(consumer_span_context_), start_span_options); auto scope = internal::OTelScope(span); MaybeAddLinkAttributes(*span, consumer_span_context_, "receive"); diff --git a/google/cloud/pubsub/internal/tracing_pull_lease_manager_test.cc b/google/cloud/pubsub/internal/tracing_pull_lease_manager_test.cc index 2fd5da3302ade..711c72765488a 100644 --- a/google/cloud/pubsub/internal/tracing_pull_lease_manager_test.cc +++ b/google/cloud/pubsub/internal/tracing_pull_lease_manager_test.cc @@ -25,7 +25,8 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include +#include namespace google { namespace cloud { @@ -146,7 +147,7 @@ TEST(TracingPullLeaseManagerImplTest, AsyncModifyAckDeadlineError) { } TEST(TracingPullLeaseManagerImplTest, AsyncModifyAckDeadlineAttributes) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_shared(); EXPECT_CALL(*mock, AsyncModifyAckDeadline(_, _, _, _, _)) @@ -168,20 +169,19 @@ TEST(TracingPullLeaseManagerImplTest, AsyncModifyAckDeadlineAttributes) { EXPECT_STATUS_OK(status.get()); auto spans = span_catcher->GetSpans(); + EXPECT_THAT(spans, Contains(AllOf( + SpanNamed("test-subscription modack"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingSystem, "gcp_pubsub"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription modack"), SpanHasAttributes(OTelAttribute( - sc::kMessagingSystem, "gcp_pubsub"))))); - EXPECT_THAT( - spans, Contains(AllOf( - SpanNamed("test-subscription modack"), - SpanHasAttributes(OTelAttribute( - /*sc::kMessagingOperationType=*/"messaging.operation.type", - "modack"))))); + /*sc::messaging::kMessagingOperationType=*/ + "messaging.operation.type", "modack"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription modack"), SpanHasAttributes(OTelAttribute( - sc::kCodeFunction, + sc::code::kCodeFunctionName, "pubsub::PullLeaseManager::ExtendLease"))))); EXPECT_THAT( spans, @@ -195,10 +195,10 @@ TEST(TracingPullLeaseManagerImplTest, AsyncModifyAckDeadlineAttributes) { SpanHasAttributes(OTelAttribute( "messaging.gcp_pubsub.message.ack_id", "test-ack-id"))))); EXPECT_THAT(spans, - Contains(AllOf( - SpanNamed("test-subscription modack"), - SpanHasAttributes(OTelAttribute( - sc::kMessagingDestinationName, "test-subscription"))))); + Contains(AllOf(SpanNamed("test-subscription modack"), + SpanHasAttributes(OTelAttribute( + sc::messaging::kMessagingDestinationName, + "test-subscription"))))); EXPECT_THAT(spans, Contains(AllOf(SpanNamed("test-subscription modack"), SpanHasAttributes(OTelAttribute( diff --git a/google/cloud/spanner/samples/graph_samples.cc b/google/cloud/spanner/samples/graph_samples.cc index f01d2ac9009b5..0388843a952a8 100644 --- a/google/cloud/spanner/samples/graph_samples.cc +++ b/google/cloud/spanner/samples/graph_samples.cc @@ -21,6 +21,7 @@ #include "google/cloud/spanner/timestamp.h" #include "google/cloud/internal/getenv.h" #include "google/cloud/log.h" +#include "absl/time/clock.h" #include #include #include diff --git a/google/cloud/storage/internal/async/object_descriptor_connection_tracing.cc b/google/cloud/storage/internal/async/object_descriptor_connection_tracing.cc index 379eb343bdc8d..d5c841698a98c 100644 --- a/google/cloud/storage/internal/async/object_descriptor_connection_tracing.cc +++ b/google/cloud/storage/internal/async/object_descriptor_connection_tracing.cc @@ -18,7 +18,7 @@ #include "google/cloud/internal/opentelemetry.h" #include "google/cloud/version.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY -#include +#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include @@ -31,7 +31,7 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = ::opentelemetry::trace::SemanticConventions; +namespace sc = ::opentelemetry::semconv; class AsyncObjectDescriptorConnectionTracing : public storage_experimental::ObjectDescriptorConnection { @@ -56,7 +56,7 @@ class AsyncObjectDescriptorConnectionTracing internal::OTelScope scope(span_); auto result = impl_->Read(p); span_->AddEvent("gl-cpp.open.read", - {{sc::kThreadId, internal::CurrentThreadId()}, + {{sc::thread::kThreadId, internal::CurrentThreadId()}, {"read-start", p.start}, {"read-length", p.length}}); return MakeTracingReaderConnection(span_, std::move(result)); diff --git a/google/cloud/storage/internal/async/object_descriptor_connection_tracing_test.cc b/google/cloud/storage/internal/async/object_descriptor_connection_tracing_test.cc index 46c1e049c2208..f0ecb56b9b5f3 100644 --- a/google/cloud/storage/internal/async/object_descriptor_connection_tracing_test.cc +++ b/google/cloud/storage/internal/async/object_descriptor_connection_tracing_test.cc @@ -23,7 +23,7 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include #include -#include +#include namespace google { namespace cloud { @@ -70,7 +70,7 @@ auto expect_no_context = [](auto f) { }; TEST(ObjectDescriptorConnectionTracing, Read) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_unique(); @@ -86,21 +86,22 @@ TEST(ObjectDescriptorConnectionTracing, Read) { actual.reset(); auto spans = span_catcher->GetSpans(); - EXPECT_THAT(spans, - ElementsAre(AllOf( - SpanNamed("test-span-name"), - SpanWithStatus(opentelemetry::trace::StatusCode::kOk), - SpanHasInstrumentationScope(), SpanKindIsClient(), - SpanHasEvents(AllOf( - EventNamed("gl-cpp.open.read"), - SpanEventAttributesAre( - OTelAttribute("read-length", 200), - OTelAttribute("read-start", 100), - OTelAttribute(sc::kThreadId, _))))))); + EXPECT_THAT( + spans, + ElementsAre(AllOf( + SpanNamed("test-span-name"), + SpanWithStatus(opentelemetry::trace::StatusCode::kOk), + SpanHasInstrumentationScope(), SpanKindIsClient(), + SpanHasEvents(AllOf( + EventNamed("gl-cpp.open.read"), + SpanEventAttributesAre( + OTelAttribute("read-length", 200), + OTelAttribute("read-start", 100), + OTelAttribute(sc::thread::kThreadId, _))))))); } TEST(ObjectDescriptorConnectionTracing, ReadThenRead) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock_connection = @@ -127,25 +128,26 @@ TEST(ObjectDescriptorConnectionTracing, ReadThenRead) { auto spans = span_catcher->GetSpans(); EXPECT_THAT( - spans, ElementsAre(AllOf( - SpanNamed("test-span"), - SpanWithStatus(opentelemetry::trace::StatusCode::kOk), - SpanHasInstrumentationScope(), SpanKindIsClient(), - SpanEventsAre( - AllOf(EventNamed("gl-cpp.open.read"), - SpanEventAttributesAre( - OTelAttribute("read-length", 0), - OTelAttribute("read-start", 0), - OTelAttribute(sc::kThreadId, _))), - AllOf(EventNamed("gl-cpp.read"), - SpanEventAttributesAre( - OTelAttribute( - "message.starting_offset", 123), - OTelAttribute(sc::kThreadId, _), - OTelAttribute("rpc.message.id", 1), - // THIS WAS THE MISSING ATTRIBUTE: - OTelAttribute("rpc.message.type", - "RECEIVED"))))))); + spans, + ElementsAre(AllOf( + SpanNamed("test-span"), + SpanWithStatus(opentelemetry::trace::StatusCode::kOk), + SpanHasInstrumentationScope(), SpanKindIsClient(), + SpanEventsAre( + AllOf(EventNamed("gl-cpp.open.read"), + SpanEventAttributesAre( + OTelAttribute("read-length", 0), + OTelAttribute("read-start", 0), + OTelAttribute(sc::thread::kThreadId, _))), + AllOf(EventNamed("gl-cpp.read"), + SpanEventAttributesAre( + OTelAttribute("message.starting_offset", + 123), + OTelAttribute(sc::thread::kThreadId, _), + OTelAttribute("rpc.message.id", 1), + // THIS WAS THE MISSING ATTRIBUTE: + OTelAttribute("rpc.message.type", + "RECEIVED"))))))); } } // namespace diff --git a/google/cloud/storage/internal/async/object_descriptor_reader_tracing.cc b/google/cloud/storage/internal/async/object_descriptor_reader_tracing.cc index 3754120c02ed9..4a5868fc55d1d 100644 --- a/google/cloud/storage/internal/async/object_descriptor_reader_tracing.cc +++ b/google/cloud/storage/internal/async/object_descriptor_reader_tracing.cc @@ -18,7 +18,7 @@ #include "google/cloud/internal/opentelemetry.h" #include "google/cloud/version.h" #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY -#include +#include #endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include @@ -31,7 +31,7 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = ::opentelemetry::trace::SemanticConventions; +namespace sc = ::opentelemetry::semconv; class ObjectDescriptorReaderTracing : public ObjectDescriptorReader { public: @@ -56,13 +56,13 @@ class ObjectDescriptorReaderTracing : public ObjectDescriptorReader { span->AddEvent( "gl-cpp.read-range", {{/*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"}, - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, {"message.size", static_cast(payload.size())}}); } else { span->AddEvent( "gl-cpp.read-range", {{/*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"}, - {sc::kThreadId, internal::CurrentThreadId()}}); + {sc::thread::kThreadId, internal::CurrentThreadId()}}); return internal::EndSpan(*span, absl::get(std::move(result))); } diff --git a/google/cloud/storage/internal/async/object_descriptor_reader_tracing_test.cc b/google/cloud/storage/internal/async/object_descriptor_reader_tracing_test.cc index c82015c8bf8e6..47728cb4d2531 100644 --- a/google/cloud/storage/internal/async/object_descriptor_reader_tracing_test.cc +++ b/google/cloud/storage/internal/async/object_descriptor_reader_tracing_test.cc @@ -22,7 +22,7 @@ #include #include #include -#include +#include namespace google { namespace cloud { @@ -41,7 +41,7 @@ using ::google::cloud::testing_util::SpanNamed; using ::google::protobuf::TextFormat; using ::testing::_; -namespace sc = ::opentelemetry::trace::SemanticConventions; +namespace sc = ::opentelemetry::semconv; TEST(ObjectDescriptorReaderTracing, Read) { auto span_catcher = InstallSpanCatcher(); @@ -60,16 +60,16 @@ TEST(ObjectDescriptorReaderTracing, Read) { auto actual = reader->Read().get(); auto spans = span_catcher->GetSpans(); - EXPECT_THAT( - spans, ElementsAre( - AllOf(SpanNamed("storage::AsyncConnection::ReadRange"), - SpanHasEvents(AllOf( - EventNamed("gl-cpp.read-range"), - SpanEventAttributesAre( - OTelAttribute("message.size", 10), - OTelAttribute(sc::kThreadId, _), - OTelAttribute("rpc.message.type", - "RECEIVED"))))))); + EXPECT_THAT(spans, + ElementsAre(AllOf( + SpanNamed("storage::AsyncConnection::ReadRange"), + SpanHasEvents(AllOf( + EventNamed("gl-cpp.read-range"), + SpanEventAttributesAre( + OTelAttribute("message.size", 10), + OTelAttribute(sc::thread::kThreadId, _), + OTelAttribute("rpc.message.type", + "RECEIVED"))))))); } TEST(ObjectDescriptorReaderTracing, ReadError) { @@ -81,17 +81,17 @@ TEST(ObjectDescriptorReaderTracing, ReadError) { auto actual = reader->Read().get(); auto spans = span_catcher->GetSpans(); - EXPECT_THAT( - spans, - ElementsAre(AllOf( - SpanNamed("storage::AsyncConnection::ReadRange"), - SpanHasAttributes( - OTelAttribute("gl-cpp.status_code", "NOT_FOUND")), - SpanHasEvents(AllOf(EventNamed("gl-cpp.read-range"), - SpanEventAttributesAre( - OTelAttribute(sc::kThreadId, _), - OTelAttribute("rpc.message.type", - "RECEIVED"))))))); + EXPECT_THAT(spans, + ElementsAre(AllOf( + SpanNamed("storage::AsyncConnection::ReadRange"), + SpanHasAttributes(OTelAttribute( + "gl-cpp.status_code", "NOT_FOUND")), + SpanHasEvents(AllOf( + EventNamed("gl-cpp.read-range"), + SpanEventAttributesAre( + OTelAttribute(sc::thread::kThreadId, _), + OTelAttribute("rpc.message.type", + "RECEIVED"))))))); } } // namespace diff --git a/google/cloud/storage/internal/async/reader_connection_tracing.cc b/google/cloud/storage/internal/async/reader_connection_tracing.cc index cf27bd19275b1..c912c7b9d138c 100644 --- a/google/cloud/storage/internal/async/reader_connection_tracing.cc +++ b/google/cloud/storage/internal/async/reader_connection_tracing.cc @@ -16,7 +16,7 @@ #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include "google/cloud/internal/opentelemetry.h" -#include +#include #include #include #include @@ -27,7 +27,7 @@ namespace storage_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = ::opentelemetry::trace::SemanticConventions; +namespace sc = ::opentelemetry::semconv; class AsyncReaderConnectionTracing : public storage_experimental::AsyncReaderConnection { @@ -41,7 +41,7 @@ class AsyncReaderConnectionTracing auto scope = opentelemetry::trace::Scope(span_); span_->AddEvent("gl-cpp.cancel", { - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, }); return impl_->Cancel(); } @@ -57,7 +57,7 @@ class AsyncReaderConnectionTracing { {/*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"}, {/*sc::kRpcMessageId=*/"rpc.message.id", count}, - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, }); return internal::EndSpan(*span, absl::get(std::move(r))); } @@ -67,7 +67,7 @@ class AsyncReaderConnectionTracing { {/*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"}, {/*sc::kRpcMessageId=*/"rpc.message.id", count}, - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, {"message.starting_offset", payload.offset()}, }); return r; diff --git a/google/cloud/storage/internal/async/reader_connection_tracing_test.cc b/google/cloud/storage/internal/async/reader_connection_tracing_test.cc index 2e68b1f04ed3f..1f3db109b9746 100644 --- a/google/cloud/storage/internal/async/reader_connection_tracing_test.cc +++ b/google/cloud/storage/internal/async/reader_connection_tracing_test.cc @@ -21,7 +21,7 @@ #include "google/cloud/opentelemetry_options.h" #include "google/cloud/testing_util/opentelemetry_matchers.h" #include -#include +#include #include namespace google { @@ -71,7 +71,7 @@ auto expect_no_context = [](auto f) { }; TEST(ReaderConnectionTracing, WithError) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); PromiseWithOTelContext p1; PromiseWithOTelContext p2; @@ -112,7 +112,7 @@ TEST(ReaderConnectionTracing, WithError) { /*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"), OTelAttribute("message.starting_offset", 0), - OTelAttribute(sc::kThreadId, _))), + OTelAttribute(sc::thread::kThreadId, _))), AllOf(EventNamed("gl-cpp.read"), SpanEventAttributesAre( OTelAttribute( @@ -120,11 +120,12 @@ TEST(ReaderConnectionTracing, WithError) { OTelAttribute( /*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"), - OTelAttribute(sc::kThreadId, _))))))); + OTelAttribute(sc::thread::kThreadId, + _))))))); } TEST(ReaderConnectionTracing, WithSuccess) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); PromiseWithOTelContext p1; PromiseWithOTelContext p2; @@ -170,7 +171,7 @@ TEST(ReaderConnectionTracing, WithSuccess) { /*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"), OTelAttribute("message.starting_offset", 0), - OTelAttribute(sc::kThreadId, _))), + OTelAttribute(sc::thread::kThreadId, _))), AllOf(EventNamed("gl-cpp.read"), SpanEventAttributesAre( OTelAttribute( @@ -180,7 +181,7 @@ TEST(ReaderConnectionTracing, WithSuccess) { "RECEIVED"), OTelAttribute("message.starting_offset", 1024), - OTelAttribute(sc::kThreadId, _))), + OTelAttribute(sc::thread::kThreadId, _))), AllOf(EventNamed("gl-cpp.read"), SpanEventAttributesAre( OTelAttribute( @@ -188,7 +189,8 @@ TEST(ReaderConnectionTracing, WithSuccess) { OTelAttribute( /*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVED"), - OTelAttribute(sc::kThreadId, _))))))); + OTelAttribute(sc::thread::kThreadId, + _))))))); auto const metadata = actual->GetRequestMetadata(); EXPECT_THAT(metadata.headers, diff --git a/google/cloud/storage/internal/async/rewriter_connection_tracing_test.cc b/google/cloud/storage/internal/async/rewriter_connection_tracing_test.cc index 064af5ed4d1fb..4055895577386 100644 --- a/google/cloud/storage/internal/async/rewriter_connection_tracing_test.cc +++ b/google/cloud/storage/internal/async/rewriter_connection_tracing_test.cc @@ -23,7 +23,6 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include #include namespace google { diff --git a/google/cloud/storage/internal/async/writer_connection_tracing.cc b/google/cloud/storage/internal/async/writer_connection_tracing.cc index 3bb930e6e9b3c..56f18a7b6681e 100644 --- a/google/cloud/storage/internal/async/writer_connection_tracing.cc +++ b/google/cloud/storage/internal/async/writer_connection_tracing.cc @@ -15,7 +15,7 @@ #ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY #include "google/cloud/storage/internal/async/writer_connection_tracing.h" #include "google/cloud/internal/opentelemetry.h" -#include +#include #include #include #include @@ -26,7 +26,7 @@ namespace storage_internal { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN namespace { -namespace sc = ::opentelemetry::trace::SemanticConventions; +namespace sc = ::opentelemetry::semconv; class AsyncWriterConnectionTracing : public storage_experimental::AsyncWriterConnection { @@ -40,7 +40,7 @@ class AsyncWriterConnectionTracing auto scope = opentelemetry::trace::Scope(span_); span_->AddEvent("gl-cpp.cancel", { - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, }); return impl_->Cancel(); } @@ -66,7 +66,7 @@ class AsyncWriterConnectionTracing { {/*sc::kRpcMessageType=*/"rpc.message.type", "SENT"}, {/*sc::kRpcMessageId=*/"rpc.message.id", count}, - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, {"gl-cpp.size", size}, }); auto status = f.get(); @@ -86,7 +86,7 @@ class AsyncWriterConnectionTracing { {/*sc::kRpcMessageType=*/"rpc.message.type", "SENT"}, {/*sc::kRpcMessageId=*/"rpc.message.id", count}, - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, {"gl-cpp.size", size}, }); return internal::EndSpan(*span, f.get()); @@ -103,7 +103,7 @@ class AsyncWriterConnectionTracing { {/*sc::kRpcMessageType=*/"rpc.message.type", "SENT"}, {/*sc::kRpcMessageId=*/"rpc.message.id", count}, - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, {"gl-cpp.size", size}, }); auto status = f.get(); @@ -120,7 +120,7 @@ class AsyncWriterConnectionTracing { {/*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVE"}, {/*sc::kRpcMessageId=*/"rpc.message.id", count}, - {sc::kThreadId, internal::CurrentThreadId()}, + {sc::thread::kThreadId, internal::CurrentThreadId()}, }); auto response = f.get(); if (!response) return internal::EndSpan(*span, std::move(response)); diff --git a/google/cloud/storage/internal/async/writer_connection_tracing_test.cc b/google/cloud/storage/internal/async/writer_connection_tracing_test.cc index 8d156a9a5ab6c..c0fcc6e55b179 100644 --- a/google/cloud/storage/internal/async/writer_connection_tracing_test.cc +++ b/google/cloud/storage/internal/async/writer_connection_tracing_test.cc @@ -22,7 +22,7 @@ #include "google/cloud/testing_util/opentelemetry_matchers.h" #include "google/cloud/testing_util/status_matchers.h" #include -#include +#include #include namespace google { @@ -53,12 +53,12 @@ using ::testing::UnorderedElementsAre; using ::testing::VariantWith; auto ExpectSent(std::int64_t id, std::uint64_t size) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; return SpanEventAttributesAre( OTelAttribute(/*sc::kRpcMessageType=*/"rpc.message.type", "SENT"), OTelAttribute(/*sc::kRpcMessageId=*/"rpc.message.id", id), - OTelAttribute(sc::kThreadId, _), + OTelAttribute(sc::thread::kThreadId, _), OTelAttribute("gl-cpp.size", size)); } @@ -71,14 +71,14 @@ auto ExpectFlush(std::int64_t id, std::uint64_t size) { } auto ExpectQuery(std::int64_t id) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; return AllOf(EventNamed("gl-cpp.query"), SpanEventAttributesAre( OTelAttribute( /*sc::kRpcMessageType=*/"rpc.message.type", "RECEIVE"), OTelAttribute( /*sc::kRpcMessageId=*/"rpc.message.id", id), - OTelAttribute(sc::kThreadId, _))); + OTelAttribute(sc::thread::kThreadId, _))); } TEST(WriterConnectionTracing, FullCycle) { @@ -224,7 +224,7 @@ TEST(WriterConnectionTracing, QueryError) { } TEST(WriterConnectionTracing, Cancel) { - namespace sc = ::opentelemetry::trace::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto span_catcher = InstallSpanCatcher(); auto mock = std::make_unique(); @@ -247,7 +247,7 @@ TEST(WriterConnectionTracing, Cancel) { SpanHasInstrumentationScope(), SpanKindIsClient(), SpanHasEvents(AllOf(EventNamed("gl-cpp.cancel"), SpanEventAttributesAre(OTelAttribute( - sc::kThreadId, _))))))); + sc::thread::kThreadId, _))))))); } } // namespace diff --git a/google/cloud/storage/internal/grpc/metrics_exporter_options.cc b/google/cloud/storage/internal/grpc/metrics_exporter_options.cc index 129d198e35db9..27c50ec1424a0 100644 --- a/google/cloud/storage/internal/grpc/metrics_exporter_options.cc +++ b/google/cloud/storage/internal/grpc/metrics_exporter_options.cc @@ -21,7 +21,8 @@ #include "google/cloud/universe_domain_options.h" #include "absl/types/variant.h" #include "google/api/monitored_resource.pb.h" -#include +#include +#include #include #include @@ -43,18 +44,20 @@ auto ByName(opentelemetry::sdk::resource::ResourceAttributes const& attributes, Options MetricsExporterOptions( Project const& project, opentelemetry::sdk::resource::Resource const& resource) { - namespace sc = ::opentelemetry::sdk::resource::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto const& attributes = resource.GetAttributes(); auto monitored_resource = google::api::MonitoredResource{}; monitored_resource.set_type("storage.googleapis.com/Client"); auto& labels = *monitored_resource.mutable_labels(); labels["project_id"] = project.project_id(); - labels["location"] = ByName(attributes, sc::kCloudAvailabilityZone, - ByName(attributes, sc::kCloudRegion, "global")); - labels["cloud_platform"] = ByName(attributes, sc::kCloudPlatform, "unknown"); - labels["host_id"] = - ByName(attributes, "faas.id", ByName(attributes, sc::kHostId, "unknown")); + labels["location"] = + ByName(attributes, sc::cloud::kCloudAvailabilityZone, + ByName(attributes, sc::cloud::kCloudRegion, "global")); + labels["cloud_platform"] = + ByName(attributes, sc::cloud::kCloudPlatform, "unknown"); + labels["host_id"] = ByName(attributes, "faas.id", + ByName(attributes, sc::host::kHostId, "unknown")); // We need a UUID because there may be multiple monitored resources within the // same process, and we need these monitored resources to be globally unique diff --git a/google/cloud/storage/internal/grpc/metrics_meter_provider.cc b/google/cloud/storage/internal/grpc/metrics_meter_provider.cc index e0db509b0d7bb..fe7d9552a0d30 100644 --- a/google/cloud/storage/internal/grpc/metrics_meter_provider.cc +++ b/google/cloud/storage/internal/grpc/metrics_meter_provider.cc @@ -66,6 +66,18 @@ void AddHistogramView(opentelemetry::sdk::metrics::MeterProvider& provider, // These are useful on Windows with DLLs and mixed CRTs, and we should try to // them if they are available. #if OPENTELEMETRY_VERSION_MAJOR > 1 || \ + (OPENTELEMETRY_VERSION_MAJOR == 1 && OPENTELEMETRY_VERSION_MINOR >= 23) + (void)unit; + provider.AddView( + opentelemetry::sdk::metrics::InstrumentSelectorFactory::Create( + opentelemetry::sdk::metrics::InstrumentType::kHistogram, name, unit), + opentelemetry::sdk::metrics::MeterSelectorFactory::Create( + kGrpcMeterName, grpc::Version(), kGrpcSchema), + opentelemetry::sdk::metrics::ViewFactory::Create( + name, std::move(description), + opentelemetry::sdk::metrics::AggregationType::kHistogram, + std::move(aggregation_config))); +#elif OPENTELEMETRY_VERSION_MAJOR > 1 || \ (OPENTELEMETRY_VERSION_MAJOR == 1 && OPENTELEMETRY_VERSION_MINOR >= 10) provider.AddView( opentelemetry::sdk::metrics::InstrumentSelectorFactory::Create( diff --git a/google/cloud/storage/internal/grpc/monitoring_project.cc b/google/cloud/storage/internal/grpc/monitoring_project.cc index f69f9ce9b6b95..598f41fac210b 100644 --- a/google/cloud/storage/internal/grpc/monitoring_project.cc +++ b/google/cloud/storage/internal/grpc/monitoring_project.cc @@ -17,7 +17,7 @@ #include "google/cloud/storage/internal/grpc/monitoring_project.h" #include "google/cloud/storage/options.h" #include "google/cloud/internal/unified_rest_credentials.h" -#include +#include namespace google { namespace cloud { @@ -46,14 +46,14 @@ absl::optional MonitoringProject(Credentials const& credentials) { absl::optional MonitoringProject( opentelemetry::sdk::resource::Resource const& resource) { - namespace sc = ::opentelemetry::sdk::resource::SemanticConventions; + namespace sc = ::opentelemetry::semconv; auto const& attributes = resource.GetAttributes(); - auto l = attributes.find(sc::kCloudProvider); + auto l = attributes.find(sc::cloud::kCloudProvider); if (l == attributes.end() || opentelemetry::nostd::get(l->second) != "gcp") { return absl::nullopt; } - l = attributes.find(sc::kCloudAccountId); + l = attributes.find(sc::cloud::kCloudAccountId); if (l == attributes.end()) return absl::nullopt; return Project(opentelemetry::nostd::get(l->second)); } diff --git a/google/cloud/testing_util/opentelemetry_matchers.cc b/google/cloud/testing_util/opentelemetry_matchers.cc index 86bcdaa2afa82..29298e7c5f4cb 100644 --- a/google/cloud/testing_util/opentelemetry_matchers.cc +++ b/google/cloud/testing_util/opentelemetry_matchers.cc @@ -23,6 +23,7 @@ #include #include #include +#include namespace { @@ -38,7 +39,6 @@ void AttributeFormatter( *out += "bool:"; *out += v ? "true" : "false"; } - void operator()(double v) const { *out += "double:" + std::to_string(v); } void operator()(std::int32_t v) const { *out += "std::int32_t:" + std::to_string(v); } @@ -48,9 +48,7 @@ void AttributeFormatter( void operator()(std::int64_t v) const { *out += "std::int64_t:" + std::to_string(v); } - void operator()(std::uint64_t v) const { - *out += "std::uint64_t:" + std::to_string(v); - } + void operator()(double v) const { *out += "double:" + std::to_string(v); } void operator()(std::string const& v) const { *out += "std::string:" + v; } void operator()(std::vector const& v) const { auto format = [](std::string* out, bool b) { @@ -58,16 +56,6 @@ void AttributeFormatter( }; *out += "std::vector:[" + absl::StrJoin(v, ", ", format) + "]"; } - void operator()(std::vector const& v) const { - *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; - } - void operator()(std::vector const& v) const { - *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; - } - void operator()(std::vector const& v) const { - *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; - ; - } void operator()(std::vector const& v) const { *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; } @@ -77,11 +65,23 @@ void AttributeFormatter( void operator()(std::vector const& v) const { *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; } + void operator()(std::vector const& v) const { + *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; + } + void operator()(std::vector const& v) const { + *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; + } + void operator()(std::uint64_t v) const { + *out += "std::uint64_t:" + std::to_string(v); + } void operator()(std::vector const& v) const { *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; } + void operator()(std::vector const& v) const { + *out += "std::vector:[" + absl::StrJoin(v, ", ") + "]"; + } }; - absl::visit(Visitor{out}, kv.second); + std::visit(Visitor{out}, kv.second); } } // namespace