File tree Expand file tree Collapse file tree 2 files changed +17
-13
lines changed
include/opentelemetry/exporters/etw Expand file tree Collapse file tree 2 files changed +17
-13
lines changed Original file line number Diff line number Diff line change @@ -159,11 +159,16 @@ void UpdateStatus(T &t, Properties &props)
159159/* *
160160 * @brief Tracer class that allows to send spans to ETW Provider.
161161 */
162-
163162class Tracer : public opentelemetry ::trace::Tracer,
164163 public std::enable_shared_from_this<opentelemetry::trace::Tracer>
165164{
165+ public:
166+ /* *
167+ * @brief Indicates whether the tracer is closed.
168+ */
169+ bool IsClosed () const noexcept { return isClosed_.load (); }
166170
171+ private:
167172 /* *
168173 * @brief Parent provider of this Tracer
169174 */
@@ -397,16 +402,6 @@ class Tracer : public opentelemetry::trace::Tracer,
397402
398403 friend class Span ;
399404
400- /* *
401- * @brief Init a reference to etw::ProviderHandle
402- * @return Provider Handle
403- */
404- ETWProvider::Handle &initProvHandle ()
405- {
406- isClosed_ = false ;
407- return etwProvider ().open (provId, encoding);
408- }
409-
410405public:
411406 /* *
412407 * @brief Tracer constructor
@@ -421,11 +416,11 @@ class Tracer : public opentelemetry::trace::Tracer,
421416 tracerProvider_ (parent),
422417 provId(providerId.data(), providerId.size()),
423418 encoding(encoding),
424- provHandle(initProvHandle( ))
419+ provHandle(etwProvider().open(provId, encoding ))
425420 {
421+ isClosed_.store (false );
426422 traceId_ = GetIdGenerator (tracerProvider_).GenerateTraceId ();
427423 }
428-
429424 /* *
430425 * @brief Start Span
431426 * @param name Span name
Original file line number Diff line number Diff line change @@ -566,6 +566,15 @@ TEST(ETWTracer, EndWithCustomTime)
566566
567567}
568568
569+ TEST (ETWTracer, ConstructorInitializesToOpenState)
570+ {
571+ opentelemetry::exporter::etw::TracerProvider provider;
572+ std::string providerId = " TestProvider" ;
573+ opentelemetry::exporter::etw::Tracer tracer (provider, providerId);
574+ // Tracer should be open after construction
575+ EXPECT_FALSE (tracer.IsClosed ());
576+ }
577+
569578/* clang-format on */
570579
571580#endif
You can’t perform that action at this time.
0 commit comments