TRACING IN MY WEB BROWSER
This commit is contained in:
parent
b2c41261de
commit
95fcabc40e
4 changed files with 26 additions and 23 deletions
|
@ -19,13 +19,6 @@ hyper = "1.0.1"
|
|||
hyper-util = "0.1.1"
|
||||
indoc = "2.0.4"
|
||||
nalgebra = { version = "0.32.3", features = ["serde-serialize"] }
|
||||
opentelemetry = "0.21.0"
|
||||
opentelemetry-appender-tracing = "0.2.0"
|
||||
opentelemetry-jaeger = "0.20.0"
|
||||
opentelemetry-otlp = { version = "0.14.0", features = ["logs", "http-proto", "reqwest-client"] }
|
||||
opentelemetry-semantic-conventions = "0.13.0"
|
||||
opentelemetry-stdout = { version = "0.2.0", features = ["trace"] }
|
||||
opentelemetry_sdk = { version = "0.21.1", features = ["logs", "rt-tokio"] }
|
||||
parking_lot = { version = "0.11", features = ["serde"] }
|
||||
pathfinding = "4.6.0"
|
||||
rstar = { version = "0.11.0", features = ["serde"] }
|
||||
|
@ -33,7 +26,7 @@ rustmatica = "0.1.1"
|
|||
serde = { version = "1.0.193", features = ["rc", "derive"] }
|
||||
serde_json = "1.0.108"
|
||||
time = { version = "0.3.31", features = ["serde"] }
|
||||
tokio = { version = "1.0", features = ["full", "tracing"] }
|
||||
tokio = { version = "1", features = ["full", "tracing"] }
|
||||
tower = { version = "0.4", features = ["util", "timeout", "load-shed", "limit"] }
|
||||
tower-http = { version = "0.5.0", features = [
|
||||
"add-extension",
|
||||
|
@ -44,7 +37,10 @@ tower-http = { version = "0.5.0", features = [
|
|||
] }
|
||||
tower-layer = "0.3.2"
|
||||
tracing = "0.1"
|
||||
tracing-opentelemetry = "0.22.0"
|
||||
tracing-subscriber = { version = "0.3.18", features = ["registry", "std"] }
|
||||
typetag = "0.2.14"
|
||||
ucnlnav = { git = "https://github.com/ucnl/UCNLNav.git", version = "0.1.0" }
|
||||
tracing-subscriber = "0.3"
|
||||
console-subscriber = "0.1.5"
|
||||
opentelemetry = "0.17.0"
|
||||
tracing-opentelemetry = "0.17.2"
|
||||
opentelemetry-jaeger = "0.16.0"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#![feature(iter_map_windows, iter_collect_into)]
|
||||
|
||||
use std::{collections::VecDeque, io::ErrorKind, sync::Arc, env::args, path};
|
||||
use std::{collections::VecDeque, io::ErrorKind, sync::Arc, env::args, path, borrow::BorrowMut};
|
||||
|
||||
use anyhow::{Error, Ok};
|
||||
use axum::{
|
||||
|
@ -10,6 +10,8 @@ use axum::{
|
|||
};
|
||||
use blocks::{World, Position, };
|
||||
use depot::Depots;
|
||||
use opentelemetry::global;
|
||||
use tower_http::trace::TraceLayer;
|
||||
use tracing::{info, span};
|
||||
use rstar::RTree;
|
||||
|
||||
|
@ -18,15 +20,10 @@ use tasks::Scheduler;
|
|||
use tokio::{sync::{
|
||||
RwLock, mpsc, OnceCell, Mutex, watch
|
||||
}, fs, time::Instant, runtime::Runtime};
|
||||
use tracing_subscriber::{fmt::format::FmtSpan, layer::SubscriberExt, util::SubscriberInitExt};
|
||||
use turtle::{Turtle, TurtleCommander};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use indoc::formatdoc;
|
||||
use opentelemetry::trace::TracerProvider as _;
|
||||
use opentelemetry_sdk::{trace::TracerProvider, runtime::Tokio};
|
||||
use opentelemetry_stdout as stdout;
|
||||
use tracing_subscriber::prelude::*;
|
||||
use tracing_subscriber::layer::SubscriberExt;
|
||||
use tracing_subscriber::Registry;
|
||||
|
||||
use crate::blocks::Block;
|
||||
|
||||
|
@ -58,18 +55,26 @@ async fn main() -> Result<(), Error> {
|
|||
None => "save".into(),
|
||||
})?;
|
||||
|
||||
let tracer = opentelemetry_jaeger::new_agent_pipeline()
|
||||
global::set_text_map_propagator(opentelemetry_jaeger::Propagator::new());
|
||||
|
||||
let tracer = opentelemetry_jaeger::new_pipeline()
|
||||
.with_service_name("avarus")
|
||||
.install_simple()?;
|
||||
|
||||
let opentelemetry = tracing_opentelemetry::layer().with_tracer(tracer);
|
||||
|
||||
let subscriber = tracing_subscriber::fmt::layer()
|
||||
.compact()
|
||||
.with_file(false)
|
||||
.with_target(true)
|
||||
.with_span_events(FmtSpan::ENTER);
|
||||
|
||||
tracing_subscriber::registry()
|
||||
.with(opentelemetry)
|
||||
.with(subscriber)
|
||||
.try_init()?;
|
||||
|
||||
let root = span!(tracing::Level::INFO, "starting");
|
||||
let enter = root.enter();
|
||||
|
||||
info!("started");
|
||||
info!("starting");
|
||||
|
||||
let (kill_send, kill_recv) = watch::channel(());
|
||||
|
||||
|
@ -81,6 +86,7 @@ async fn main() -> Result<(), Error> {
|
|||
//.route("/turtle/:id/placeUp", get(place_up))
|
||||
.route("/flush", get(flush))
|
||||
.nest("/turtle", turtle_api::turtle_api())
|
||||
.layer(TraceLayer::new_for_http())
|
||||
.with_state(state.clone());
|
||||
|
||||
let listener = tokio::net::TcpListener::bind(("0.0.0.0", *PORT.get().unwrap()))
|
||||
|
|
|
@ -231,7 +231,7 @@ impl TurtleCommander {
|
|||
self.depots.dock(self.clone()).await
|
||||
}
|
||||
|
||||
#[tracing::instrument]
|
||||
#[tracing::instrument(skip(self))]
|
||||
pub async fn goto(&self, pos: Position) -> Option<()> {
|
||||
let mut recent = self.pos().await;
|
||||
let world = self.world.clone();
|
||||
|
|
|
@ -169,6 +169,7 @@ pub(crate) async fn fell(
|
|||
"ACK"
|
||||
}
|
||||
|
||||
#[tracing::instrument(skip(state))]
|
||||
pub(crate) async fn set_goal(
|
||||
Path(id): Path<u32>,
|
||||
State(state): State<SharedControl>,
|
||||
|
|
Loading…
Reference in a new issue