diff --git a/include/OtelDefaults.h b/include/OtelDefaults.h index 7222057..7cfde02 100644 --- a/include/OtelDefaults.h +++ b/include/OtelDefaults.h @@ -138,13 +138,11 @@ struct OTelResourceConfig { // ------------------------------------------------------------------------------------------------- /** Default resource for general use (metrics/logs/etc.) */ -static inline OTelResourceConfig& defaultResource() { +inline OTelResourceConfig& defaultResource() { static OTelResourceConfig rc; return rc; } - } // namespace OTel #endif // OTEL_DEFAULTS_H - diff --git a/src/OtelMetrics.cpp b/src/OtelMetrics.cpp index 36fcbc1..41f8eb4 100644 --- a/src/OtelMetrics.cpp +++ b/src/OtelMetrics.cpp @@ -20,6 +20,12 @@ static void addPointAttributes(JsonArray& attrArray, } static void addCommonResource(JsonObject& resource) { + auto &res = OTel::defaultResource(); + if (!res.empty()) { + res.addResourceAttributes(resource); + return; + } + JsonArray rattrs = resource["attributes"].to(); addResAttr(rattrs, "service.name", defaultServiceName()); addResAttr(rattrs, "service.instance.id", defaultServiceInstanceId());