Skip to content

Commit

Permalink
replacing user-events with etw
Browse files Browse the repository at this point in the history
  • Loading branch information
psandana committed Jan 19, 2024
1 parent 3c3fd4f commit 541797d
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion opentelemetry-etw-logs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@

## Overview

ETW (Event Tracing for Windows) is a Windows solution for user process tracing, similar to [user_events](https://docs.kernel.org/trace/user_events.html) on Linux.
ETW (Event Tracing for Windows) is a Windows solution for user process tracing (https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/event-tracing-for-windows--etw-), similar to [user_events](https://docs.kernel.org/trace/user_events.html) on Linux.

2 changes: 1 addition & 1 deletion opentelemetry-etw-logs/examples/basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use opentelemetry_appender_tracing::layer;
use opentelemetry_sdk::logs::LoggerProvider;
use opentelemetry_user_events_logs::{ExporterConfig, ReentrantLogProcessor};
use opentelemetry_etw_logs::{ExporterConfig, ReentrantLogProcessor};
use std::collections::HashMap;
use tracing::error;
use tracing_subscriber::prelude::*;
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-etw-logs/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//! The user_events exporter will enable applications to use OpenTelemetry API
//! to capture the telemetry events, and write to user_events subsystem.
//! The ETW exporter will enable applications to use OpenTelemetry API
//! to capture the telemetry events, and write to ETW subsystem.

#![warn(missing_debug_implementations, missing_docs)]

Expand Down
16 changes: 8 additions & 8 deletions opentelemetry-etw-logs/src/logs/exporter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ use std::sync::Arc;
use opentelemetry::{logs::AnyValue, logs::Severity, Key};
use std::{cell::RefCell, str, time::SystemTime};

/// Provider group associated with the user_events exporter
/// Provider group associated with the ETW exporter
pub type ProviderGroup = Option<Cow<'static, str>>;

thread_local! { static EBW: RefCell<EventBuilder> = RefCell::new(EventBuilder::new());}

Check warning on line 15 in opentelemetry-etw-logs/src/logs/exporter.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-etw-logs/src/logs/exporter.rs#L15

Added line #L15 was not covered by tests

/// Exporter config
#[derive(Debug)]

Check warning on line 18 in opentelemetry-etw-logs/src/logs/exporter.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-etw-logs/src/logs/exporter.rs#L18

Added line #L18 was not covered by tests
pub struct ExporterConfig {
/// keyword associated with user_events name
/// keyword associated with ETW name
/// These should be mapped to logger_name as of now.
pub keywords_map: HashMap<String, u64>,
/// default keyword if map is not defined.
Expand Down Expand Up @@ -46,7 +46,7 @@ impl ExporterConfig {
}
}

Check warning on line 47 in opentelemetry-etw-logs/src/logs/exporter.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-etw-logs/src/logs/exporter.rs#L47

Added line #L47 was not covered by tests
}
pub(crate) struct UserEventsExporter {
pub(crate) struct ETWExporter {
provider: Arc<eventheader_dynamic::Provider>,
exporter_config: ExporterConfig,
}
Expand All @@ -56,7 +56,7 @@ const EVENT_NAME_PRIMARY: &str = "event_name";
const EVENT_NAME_SECONDARY: &str = "name";

//TBD - How to configure provider name and provider group
impl UserEventsExporter {
impl ETWExporter {
pub(crate) fn new(
provider_name: &str,
_provider_group: ProviderGroup,
Expand All @@ -67,7 +67,7 @@ impl UserEventsExporter {
let mut eventheader_provider: eventheader_dynamic::Provider =
eventheader_dynamic::Provider::new(provider_name, &options);
Self::register_keywords(&mut eventheader_provider, &exporter_config);
UserEventsExporter {
ETWExporter {
provider: Arc::new(eventheader_provider),
exporter_config,
}
Expand Down Expand Up @@ -304,14 +304,14 @@ impl UserEventsExporter {
}

Check warning on line 304 in opentelemetry-etw-logs/src/logs/exporter.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-etw-logs/src/logs/exporter.rs#L274-L304

Added lines #L274 - L304 were not covered by tests
}

impl Debug for UserEventsExporter {
impl Debug for ETWExporter {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str("user_events log exporter")
f.write_str("ETW log exporter")
}

Check warning on line 310 in opentelemetry-etw-logs/src/logs/exporter.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-etw-logs/src/logs/exporter.rs#L308-L310

Added lines #L308 - L310 were not covered by tests
}

#[async_trait]
impl opentelemetry_sdk::export::logs::LogExporter for UserEventsExporter {
impl opentelemetry_sdk::export::logs::LogExporter for ETWExporter {
async fn export(
&mut self,
batch: Vec<opentelemetry_sdk::export::logs::LogData>,
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-etw-logs/src/logs/reentrant_logprocessor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use crate::logs::exporter::*;

#[derive(Debug)]

Check warning on line 16 in opentelemetry-etw-logs/src/logs/reentrant_logprocessor.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-etw-logs/src/logs/reentrant_logprocessor.rs#L16

Added line #L16 was not covered by tests
pub struct ReentrantLogProcessor {
event_exporter: UserEventsExporter,
event_exporter: ETWExporter,
}

impl ReentrantLogProcessor {
Expand All @@ -25,7 +25,7 @@ impl ReentrantLogProcessor {
provider_group: ProviderGroup,
exporter_config: ExporterConfig,
) -> Self {
let exporter = UserEventsExporter::new(provider_name, provider_group, exporter_config);
let exporter = ETWExporter::new(provider_name, provider_group, exporter_config);
ReentrantLogProcessor {
event_exporter: exporter,
}
Expand Down

0 comments on commit 541797d

Please sign in to comment.