Skip to content

Commit e1059e3

Browse files
committed
feat(*): Add support for OTel
- Use spin_telemetry rather than setting up our own tracing subscriber. - Parse the Spin version from the environment. - Remove dependencies on is-terminal and tracing-subscriber (this unblocks SpinKube work) Signed-off-by: Caleb Schoepp <[email protected]>
1 parent ee1195a commit e1059e3

File tree

3 files changed

+17
-24
lines changed

3 files changed

+17
-24
lines changed

Cargo.lock

Lines changed: 1 addition & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@ aws-config = "0.52.0"
1111
aws-sdk-sqs = "0.22.0"
1212
clap = { version = "3.1.15", features = ["derive", "env"] }
1313
futures = "0.3.25"
14-
is-terminal = "0.4.3"
1514
serde = "1.0"
1615
spin-core = { git = "https://github.com/fermyon/spin", tag = "v2.4.3" }
16+
spin-telemetry = { git = "https://github.com/fermyon/spin", tag = "v2.4.3" }
1717
spin-trigger = { git = "https://github.com/fermyon/spin", tag = "v2.4.3" }
1818
tokio = { version = "1.37", features = ["full"] }
1919
tokio-scoped = "0.2.0"
2020
tracing = { version = "0.1", features = ["log"] }
21-
tracing-subscriber = { version = "0.3.7", features = ["env-filter"] }
2221
wasmtime = { version = "18.0.1" }
2322

2423
[target.'cfg(target_os = "linux")'.dependencies]

src/main.rs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
1-
21
use clap::Parser;
3-
use is_terminal::IsTerminal;
4-
use trigger_sqs::SqsTrigger;
52
use spin_trigger::cli::TriggerExecutorCommand;
3+
use trigger_sqs::SqsTrigger;
64

75
type Command = TriggerExecutorCommand<SqsTrigger>;
86

97
#[tokio::main]
108
async fn main() -> anyhow::Result<()> {
11-
tracing_subscriber::fmt()
12-
.with_writer(std::io::stderr)
13-
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
14-
.with_ansi(std::io::stderr().is_terminal())
15-
.init();
9+
let _telemetry_guard = spin_telemetry::init(build_info())?;
1610

1711
let t = Command::parse();
1812
t.run().await
19-
}
13+
}
14+
15+
/// Returns build information of the parent Spin process, similar to: 0.1.0 (2be4034 2022-03-31).
16+
fn build_info() -> String {
17+
let spin_version = env_var("SPIN_VERSION");
18+
let spin_commit_sha = env_var("SPIN_COMMIT_SHA");
19+
let spin_commit_date = env_var("SPIN_COMMIT_DATE");
20+
format!("{spin_version} ({spin_commit_sha} {spin_commit_date})")
21+
}
22+
23+
fn env_var(name: &str) -> String {
24+
std::env::var(name).unwrap_or_else(|_| "unknown".to_string())
25+
}

0 commit comments

Comments
 (0)