opentelemetry-cpp icon indicating copy to clipboard operation
opentelemetry-cpp copied to clipboard

Move implementation from SDK header files to SDK *.cc

Open marcalff opened this issue 3 years ago • 2 comments

This is a remaining item identified during review of PR #1420

For all the static variables found in SDK header files, consider (to discuss) to either:

  • move the code to the *.cc files instead,
  • remove the static keyword,
  • add comments to explain why use of static is safe.

List of variables identified:

File opentelemetry/sdk/common/empty_attributes.h

  static const std::array<std::pair<std::string, int>, 0> array{};
  static const opentelemetry::common::KeyValueIterableView<
      std::array<std::pair<std::string, int>, 0>>
      kEmptyAttributes(array);

File opentelemetry/sdk/metrics/aggregation/drop_aggregation.h

    static DropPointData point_data;

File opentelemetry/sdk/metrics/exemplar/always_sample_filter.h

    static nostd::shared_ptr<ExemplarFilter> alwaysSampleFilter{new AlwaysSampleFilter{}};

File opentelemetry/sdk/metrics/view/view_registry.h

      static View view("otel-default-view");

File opentelemetry/sdk/resource/experimental_semantic_conventions.h

static const std::unordered_map<uint32_t, const char *> attribute_ids = { ... };

This one (attribute_ids) probably needs more investigation before doing any changes (strings resolved at compile time or runtime ?).

File opentelemetry/sdk/trace/multi_recordable.h

    static std::unique_ptr<Recordable> empty(nullptr);

File opentelemetry/sdk/trace/span_data.h

      static opentelemetry::sdk::resource::Resource resource =

      static std::unique_ptr<opentelemetry::sdk::instrumentationlibrary::InstrumentationLibrary>
          instrumentation_library =

Code cleanup, low priority.

marcalff avatar Jun 03 '22 08:06 marcalff

As discussed in community meeting, expanding the scope from "moving static variables to *.cc" to "moving all code to *.cc".

marcalff avatar Jul 21 '22 16:07 marcalff

This issue was marked as stale due to lack of activity.

github-actions[bot] avatar Sep 20 '22 02:09 github-actions[bot]

This issue was marked as stale due to lack of activity.

github-actions[bot] avatar Nov 20 '22 02:11 github-actions[bot]