.
This commit is contained in:
72
Cargo.lock
generated
72
Cargo.lock
generated
@@ -424,7 +424,7 @@ dependencies = [
|
|||||||
"futures-core",
|
"futures-core",
|
||||||
"prost",
|
"prost",
|
||||||
"prost-types",
|
"prost-types",
|
||||||
"tonic",
|
"tonic 0.10.2",
|
||||||
"tracing-core",
|
"tracing-core",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -446,7 +446,7 @@ dependencies = [
|
|||||||
"thread_local",
|
"thread_local",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tonic",
|
"tonic 0.10.2",
|
||||||
"tracing",
|
"tracing",
|
||||||
"tracing-core",
|
"tracing-core",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber",
|
||||||
@@ -1429,6 +1429,43 @@ dependencies = [
|
|||||||
"urlencoding",
|
"urlencoding",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opentelemetry-otlp"
|
||||||
|
version = "0.15.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb"
|
||||||
|
dependencies = [
|
||||||
|
"async-trait",
|
||||||
|
"futures-core",
|
||||||
|
"http 0.2.12",
|
||||||
|
"opentelemetry",
|
||||||
|
"opentelemetry-proto",
|
||||||
|
"opentelemetry-semantic-conventions",
|
||||||
|
"opentelemetry_sdk",
|
||||||
|
"prost",
|
||||||
|
"thiserror",
|
||||||
|
"tokio",
|
||||||
|
"tonic 0.11.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opentelemetry-proto"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4"
|
||||||
|
dependencies = [
|
||||||
|
"opentelemetry",
|
||||||
|
"opentelemetry_sdk",
|
||||||
|
"prost",
|
||||||
|
"tonic 0.11.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opentelemetry-semantic-conventions"
|
||||||
|
version = "0.14.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opentelemetry_sdk"
|
name = "opentelemetry_sdk"
|
||||||
version = "0.22.1"
|
version = "0.22.1"
|
||||||
@@ -1447,6 +1484,8 @@ dependencies = [
|
|||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"rand",
|
"rand",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
"tokio",
|
||||||
|
"tokio-stream",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1481,6 +1520,7 @@ dependencies = [
|
|||||||
"maud",
|
"maud",
|
||||||
"metrics",
|
"metrics",
|
||||||
"opentelemetry",
|
"opentelemetry",
|
||||||
|
"opentelemetry-otlp",
|
||||||
"opentelemetry_sdk",
|
"opentelemetry_sdk",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_variant",
|
"serde_variant",
|
||||||
@@ -1488,6 +1528,7 @@ dependencies = [
|
|||||||
"sqlx",
|
"sqlx",
|
||||||
"time",
|
"time",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
"tonic 0.11.0",
|
||||||
"tower",
|
"tower",
|
||||||
"tower-http",
|
"tower-http",
|
||||||
"tracing",
|
"tracing",
|
||||||
@@ -2527,6 +2568,33 @@ dependencies = [
|
|||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tonic"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13"
|
||||||
|
dependencies = [
|
||||||
|
"async-stream",
|
||||||
|
"async-trait",
|
||||||
|
"axum 0.6.20",
|
||||||
|
"base64 0.21.7",
|
||||||
|
"bytes",
|
||||||
|
"h2 0.3.26",
|
||||||
|
"http 0.2.12",
|
||||||
|
"http-body 0.4.6",
|
||||||
|
"hyper 0.14.28",
|
||||||
|
"hyper-timeout",
|
||||||
|
"percent-encoding",
|
||||||
|
"pin-project",
|
||||||
|
"prost",
|
||||||
|
"tokio",
|
||||||
|
"tokio-stream",
|
||||||
|
"tower",
|
||||||
|
"tower-layer",
|
||||||
|
"tower-service",
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tower"
|
name = "tower"
|
||||||
version = "0.4.13"
|
version = "0.4.13"
|
||||||
|
|||||||
164
Cargo.toml
164
Cargo.toml
@@ -8,11 +8,18 @@ name = "packager"
|
|||||||
path = "src/main.rs"
|
path = "src/main.rs"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
opentelemetry = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:tracing-opentelemetry", "tokio/tracing"]
|
otel = [
|
||||||
|
"dep:opentelemetry",
|
||||||
|
"dep:opentelemetry_sdk",
|
||||||
|
"dep:tracing-opentelemetry",
|
||||||
|
"dep:opentelemetry-otlp",
|
||||||
|
"dep:tonic",
|
||||||
|
"tokio/tracing"
|
||||||
|
]
|
||||||
prometheus = ["dep:axum-prometheus"]
|
prometheus = ["dep:axum-prometheus"]
|
||||||
tokio-console = ["dep:console-subscriber"]
|
tokio-console = ["dep:console-subscriber"]
|
||||||
|
|
||||||
default = ["opentelemetry", "prometheus", "tokio-console"]
|
default = ["otel", "prometheus", "tokio-console"]
|
||||||
|
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
opt-level = 0
|
opt-level = 0
|
||||||
@@ -23,47 +30,94 @@ lto = "off"
|
|||||||
[dependencies.async-trait]
|
[dependencies.async-trait]
|
||||||
version = "0.1"
|
version = "0.1"
|
||||||
|
|
||||||
[dependencies.opentelemetry]
|
[dependencies.axum]
|
||||||
|
version = "0.7"
|
||||||
|
features = ["macros"]
|
||||||
|
|
||||||
|
[dependencies.axum-prometheus]
|
||||||
|
version = "0.6"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.base64]
|
||||||
version = "0.22"
|
version = "0.22"
|
||||||
optional = true
|
|
||||||
|
|
||||||
[dependencies.opentelemetry_sdk]
|
|
||||||
version = "0.22"
|
|
||||||
optional = true
|
|
||||||
|
|
||||||
[dependencies.tracing-opentelemetry]
|
|
||||||
version = "0.23"
|
|
||||||
optional = true
|
|
||||||
|
|
||||||
[dependencies.tracing-log]
|
|
||||||
version = "0.2"
|
|
||||||
|
|
||||||
[dependencies.http]
|
|
||||||
version = "1.1"
|
|
||||||
|
|
||||||
[dependencies.log]
|
|
||||||
version = "0.4"
|
|
||||||
|
|
||||||
[dependencies.clap]
|
[dependencies.clap]
|
||||||
version = "4"
|
version = "4"
|
||||||
features = ["derive"]
|
features = ["derive"]
|
||||||
|
|
||||||
[dependencies.axum]
|
[dependencies.console-subscriber]
|
||||||
|
version = "0.2"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.futures]
|
||||||
|
version = "0.3"
|
||||||
|
|
||||||
|
[dependencies.http]
|
||||||
|
version = "1.1"
|
||||||
|
|
||||||
|
[dependencies.hyper]
|
||||||
|
version = "1.3"
|
||||||
|
features = ["full"]
|
||||||
|
|
||||||
|
[dependencies.log]
|
||||||
|
version = "0.4"
|
||||||
|
|
||||||
|
[dependencies.maud]
|
||||||
|
version = "0.26"
|
||||||
|
features = [
|
||||||
|
"axum",
|
||||||
|
]
|
||||||
|
|
||||||
|
[dependencies.metrics]
|
||||||
|
version = "0.22"
|
||||||
|
|
||||||
|
[dependencies.opentelemetry]
|
||||||
|
version = "0.22"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.opentelemetry-otlp]
|
||||||
|
version = "0.15"
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.opentelemetry_sdk]
|
||||||
|
version = "0.22"
|
||||||
|
features = ["rt-tokio"]
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.serde]
|
||||||
|
version = "1"
|
||||||
|
features = ["derive"]
|
||||||
|
|
||||||
|
[dependencies.serde_variant]
|
||||||
|
version = "0.1"
|
||||||
|
|
||||||
|
[dependencies.sha2]
|
||||||
|
version = "0.10"
|
||||||
|
|
||||||
|
[dependencies.sqlx]
|
||||||
version = "0.7"
|
version = "0.7"
|
||||||
features = ["macros"]
|
#path = "./vendor/sqlx"
|
||||||
|
features = [
|
||||||
|
"runtime-tokio-rustls",
|
||||||
|
# "offline",
|
||||||
|
"sqlite",
|
||||||
|
"macros",
|
||||||
|
"time",
|
||||||
|
"migrate",
|
||||||
|
]
|
||||||
|
|
||||||
|
[dependencies.time]
|
||||||
|
version = "0.3"
|
||||||
|
features = ["serde"]
|
||||||
|
|
||||||
[dependencies.tokio]
|
[dependencies.tokio]
|
||||||
version = "1"
|
version = "1"
|
||||||
features = ["macros", "rt-multi-thread"]
|
features = ["macros", "rt-multi-thread"]
|
||||||
|
|
||||||
[dependencies.console-subscriber]
|
[dependencies.tonic]
|
||||||
version = "0.2"
|
version = "0.11"
|
||||||
optional = true
|
optional = true
|
||||||
|
|
||||||
[dependencies.hyper]
|
|
||||||
version = "1.3"
|
|
||||||
features = ["full"]
|
|
||||||
|
|
||||||
[dependencies.tower]
|
[dependencies.tower]
|
||||||
version = "0.4"
|
version = "0.4"
|
||||||
features = ["timeout"]
|
features = ["timeout"]
|
||||||
@@ -78,58 +132,20 @@ version = "0.1"
|
|||||||
[dependencies.tracing-attributes]
|
[dependencies.tracing-attributes]
|
||||||
version = "0.1"
|
version = "0.1"
|
||||||
|
|
||||||
|
[dependencies.tracing-log]
|
||||||
|
version = "0.2"
|
||||||
|
|
||||||
|
[dependencies.tracing-opentelemetry]
|
||||||
|
version = "0.23"
|
||||||
|
optional = true
|
||||||
|
|
||||||
[dependencies.tracing-subscriber]
|
[dependencies.tracing-subscriber]
|
||||||
version = "0.3"
|
version = "0.3"
|
||||||
features = ["json", "env-filter"]
|
features = ["json", "env-filter"]
|
||||||
|
|
||||||
[dependencies.maud]
|
|
||||||
version = "0.26"
|
|
||||||
features = [
|
|
||||||
"axum",
|
|
||||||
]
|
|
||||||
|
|
||||||
[dependencies.uuid]
|
[dependencies.uuid]
|
||||||
version = "1"
|
version = "1"
|
||||||
features = [
|
features = [
|
||||||
"v4",
|
"v4",
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[dependencies.sqlx]
|
|
||||||
version = "0.7"
|
|
||||||
#path = "./vendor/sqlx"
|
|
||||||
features = [
|
|
||||||
"runtime-tokio-rustls",
|
|
||||||
# "offline",
|
|
||||||
"sqlite",
|
|
||||||
"macros",
|
|
||||||
"time",
|
|
||||||
"migrate",
|
|
||||||
]
|
|
||||||
|
|
||||||
[dependencies.futures]
|
|
||||||
version = "0.3"
|
|
||||||
|
|
||||||
[dependencies.time]
|
|
||||||
version = "0.3"
|
|
||||||
features = ["serde"]
|
|
||||||
|
|
||||||
[dependencies.serde]
|
|
||||||
version = "1"
|
|
||||||
features = ["derive"]
|
|
||||||
|
|
||||||
[dependencies.serde_variant]
|
|
||||||
version = "0.1"
|
|
||||||
|
|
||||||
[dependencies.axum-prometheus]
|
|
||||||
version = "0.6"
|
|
||||||
optional = true
|
|
||||||
|
|
||||||
[dependencies.metrics]
|
|
||||||
version = "0.22"
|
|
||||||
|
|
||||||
[dependencies.sha2]
|
|
||||||
version = "0.10"
|
|
||||||
|
|
||||||
[dependencies.base64]
|
|
||||||
version = "0.22"
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ pub struct Args {
|
|||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
pub database_url: String,
|
pub database_url: String,
|
||||||
|
|
||||||
#[cfg(feature = "opentelemetry")]
|
#[cfg(feature = "otel")]
|
||||||
#[arg(long, value_enum, default_value_t = BoolArg::False)]
|
#[arg(long, value_enum, default_value_t = BoolArg::False)]
|
||||||
pub enable_opentelemetry: BoolArg,
|
pub enable_opentelemetry: BoolArg,
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ async fn main() -> MainResult {
|
|||||||
};
|
};
|
||||||
|
|
||||||
telemetry::tracing::init(
|
telemetry::tracing::init(
|
||||||
#[cfg(feature = "opentelemetry")]
|
#[cfg(feature = "otel")]
|
||||||
if args.enable_opentelemetry.into() {
|
if args.enable_opentelemetry.into() {
|
||||||
telemetry::tracing::OpenTelemetryConfig::Enabled
|
telemetry::tracing::OpenTelemetryConfig::Enabled
|
||||||
} else {
|
} else {
|
||||||
@@ -142,7 +142,7 @@ async fn main() -> MainResult {
|
|||||||
.expect("join_set is empty, this is a bug");
|
.expect("join_set is empty, this is a bug");
|
||||||
|
|
||||||
// EXPECT: We never expect a JoinError, as all threads run infinitely
|
// EXPECT: We never expect a JoinError, as all threads run infinitely
|
||||||
let result = result.expect("thread panicked");
|
let result: Result<(), Error> = result.expect("thread panicked");
|
||||||
|
|
||||||
// If we get an Ok(()), something weird happened
|
// If we get an Ok(()), something weird happened
|
||||||
let result = result.expect_err("thread ran to completion");
|
let result = result.expect_err("thread ran to completion");
|
||||||
|
|||||||
@@ -22,11 +22,6 @@ use tracing::Instrument;
|
|||||||
|
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
#[cfg(feature = "opentelemetry")]
|
|
||||||
use opentelemetry::{global, trace::TracerProvider as _};
|
|
||||||
#[cfg(feature = "opentelemetry")]
|
|
||||||
use opentelemetry_sdk::trace::TracerProvider;
|
|
||||||
|
|
||||||
pub enum OpenTelemetryConfig {
|
pub enum OpenTelemetryConfig {
|
||||||
Enabled,
|
Enabled,
|
||||||
Disabled,
|
Disabled,
|
||||||
@@ -66,7 +61,7 @@ fn get_stdout_layer<
|
|||||||
stdout_layer.boxed()
|
stdout_layer.boxed()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "opentelemetry")]
|
#[cfg(feature = "otel")]
|
||||||
fn get_opentelemetry_layer<
|
fn get_opentelemetry_layer<
|
||||||
T: tracing::Subscriber + for<'a> tracing_subscriber::registry::LookupSpan<'a>,
|
T: tracing::Subscriber + for<'a> tracing_subscriber::registry::LookupSpan<'a>,
|
||||||
>(
|
>(
|
||||||
@@ -75,20 +70,45 @@ fn get_opentelemetry_layer<
|
|||||||
) -> Option<impl tracing_subscriber::Layer<T>> {
|
) -> Option<impl tracing_subscriber::Layer<T>> {
|
||||||
match config {
|
match config {
|
||||||
OpenTelemetryConfig::Enabled => {
|
OpenTelemetryConfig::Enabled => {
|
||||||
global::set_text_map_propagator(
|
use std::time::Duration;
|
||||||
opentelemetry_sdk::propagation::TraceContextPropagator::new(),
|
|
||||||
);
|
|
||||||
// Sets up the machinery needed to export data to an opentelemetry endpoint.
|
|
||||||
// There are other OTel crates that provide pipelines for the vendors
|
|
||||||
// mentioned earlier.
|
|
||||||
let provider = TracerProvider::builder()
|
|
||||||
// .with_service_name()
|
|
||||||
// .with_max_packet_size(50_000)
|
|
||||||
// .with_auto_split_batch(true)
|
|
||||||
// .install_batch(Tokio)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
let tracer = provider.tracer(env!("CARGO_PKG_NAME"));
|
use opentelemetry::{global, KeyValue};
|
||||||
|
use opentelemetry_otlp::WithExportConfig as _;
|
||||||
|
use opentelemetry_sdk::{
|
||||||
|
trace::{RandomIdGenerator, Sampler},
|
||||||
|
Resource,
|
||||||
|
};
|
||||||
|
|
||||||
|
use tonic::metadata::MetadataMap;
|
||||||
|
|
||||||
|
let mut metadata = MetadataMap::with_capacity(3);
|
||||||
|
metadata.insert("x-host", "localhost".parse().unwrap());
|
||||||
|
|
||||||
|
let tracer = opentelemetry_otlp::new_pipeline()
|
||||||
|
.tracing()
|
||||||
|
.with_exporter(
|
||||||
|
opentelemetry_otlp::new_exporter()
|
||||||
|
.tonic()
|
||||||
|
.with_endpoint("http://localhost:4317")
|
||||||
|
.with_timeout(Duration::from_secs(3))
|
||||||
|
.with_metadata(metadata),
|
||||||
|
)
|
||||||
|
.with_trace_config(
|
||||||
|
opentelemetry_sdk::trace::config()
|
||||||
|
.with_sampler(Sampler::AlwaysOn)
|
||||||
|
.with_id_generator(RandomIdGenerator::default())
|
||||||
|
.with_max_events_per_span(64)
|
||||||
|
.with_max_attributes_per_span(16)
|
||||||
|
.with_max_events_per_span(16)
|
||||||
|
.with_resource(Resource::new(vec![KeyValue::new(
|
||||||
|
"service.name",
|
||||||
|
"packager",
|
||||||
|
)])),
|
||||||
|
)
|
||||||
|
.install_batch(opentelemetry_sdk::runtime::Tokio)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
// let tracer = provider.tracer(env!("CARGO_PKG_NAME"));
|
||||||
|
|
||||||
let opentelemetry_filter = {
|
let opentelemetry_filter = {
|
||||||
Targets::new()
|
Targets::new()
|
||||||
@@ -119,7 +139,7 @@ fn get_opentelemetry_layer<
|
|||||||
type ShutdownFunction = Box<dyn FnOnce() -> Result<(), Box<dyn std::error::Error>>>;
|
type ShutdownFunction = Box<dyn FnOnce() -> Result<(), Box<dyn std::error::Error>>>;
|
||||||
|
|
||||||
pub async fn init<Func, T>(
|
pub async fn init<Func, T>(
|
||||||
#[cfg(feature = "opentelemetry")] opentelemetry_config: OpenTelemetryConfig,
|
#[cfg(feature = "otel")] opentelemetry_config: OpenTelemetryConfig,
|
||||||
#[cfg(feature = "tokio-console")] tokio_console_config: TokioConsoleConfig,
|
#[cfg(feature = "tokio-console")] tokio_console_config: TokioConsoleConfig,
|
||||||
args: crate::cli::Args,
|
args: crate::cli::Args,
|
||||||
f: Func,
|
f: Func,
|
||||||
@@ -130,12 +150,9 @@ where
|
|||||||
{
|
{
|
||||||
// mut is dependent on features (it's only required when opentelemetry is set), so
|
// mut is dependent on features (it's only required when opentelemetry is set), so
|
||||||
// let's just disable the lint
|
// let's just disable the lint
|
||||||
#[cfg(feature = "opentelemetry")]
|
#[allow(unused_mut)]
|
||||||
let mut shutdown_functions: Vec<ShutdownFunction> = vec![];
|
let mut shutdown_functions: Vec<ShutdownFunction> = vec![];
|
||||||
|
|
||||||
#[cfg(not(feature = "opentelemetry"))]
|
|
||||||
let shutdown_functions: Vec<ShutdownFunction> = vec![];
|
|
||||||
|
|
||||||
#[cfg(feature = "tokio-console")]
|
#[cfg(feature = "tokio-console")]
|
||||||
let console_layer = match tokio_console_config {
|
let console_layer = match tokio_console_config {
|
||||||
TokioConsoleConfig::Enabled => Some(console_subscriber::Builder::default().spawn()),
|
TokioConsoleConfig::Enabled => Some(console_subscriber::Builder::default().spawn()),
|
||||||
@@ -144,7 +161,7 @@ where
|
|||||||
|
|
||||||
let stdout_layer = get_stdout_layer();
|
let stdout_layer = get_stdout_layer();
|
||||||
|
|
||||||
#[cfg(feature = "opentelemetry")]
|
#[cfg(feature = "otel")]
|
||||||
let opentelemetry_layer =
|
let opentelemetry_layer =
|
||||||
get_opentelemetry_layer(&opentelemetry_config, &mut shutdown_functions);
|
get_opentelemetry_layer(&opentelemetry_config, &mut shutdown_functions);
|
||||||
|
|
||||||
@@ -153,7 +170,7 @@ where
|
|||||||
#[cfg(feature = "tokio-console")]
|
#[cfg(feature = "tokio-console")]
|
||||||
let registry = registry.with(console_layer);
|
let registry = registry.with(console_layer);
|
||||||
|
|
||||||
#[cfg(feature = "opentelemetry")]
|
#[cfg(feature = "otel")]
|
||||||
let registry = registry.with(opentelemetry_layer);
|
let registry = registry.with(opentelemetry_layer);
|
||||||
// just an example, you can actuall pass Options here for layers that might be
|
// just an example, you can actuall pass Options here for layers that might be
|
||||||
// set/unset at runtime
|
// set/unset at runtime
|
||||||
@@ -1,3 +1,11 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
docker run --rm --name packager-jaeger -p6831:6831/udp -p6832:6832/udp -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest "${@}"
|
docker run \
|
||||||
|
--rm \
|
||||||
|
--name \
|
||||||
|
packager-jaeger \
|
||||||
|
-p 4317:4317 \
|
||||||
|
-p 4318:4318 \
|
||||||
|
-p16686:16686 \
|
||||||
|
jaegertracing/all-in-one:latest \
|
||||||
|
"${@}"
|
||||||
|
|||||||
Reference in New Issue
Block a user