Skip to content

Commit

Permalink
Added some minimal documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
bryn committed Apr 22, 2022
1 parent 0f5dd0f commit bf40b73
Show file tree
Hide file tree
Showing 11 changed files with 30 additions and 1 deletion.
19 changes: 19 additions & 0 deletions apollo-router-core/src/layers/instrument.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
//! Instrumentation layer that allows services to be wrapped in a span.
//!
//! See [`Layer`] and [`Service`] for more details.
//!
//! Using ServiceBuilderExt:
//! ```rust
//! use tower::ServiceBuilder;
//! use tracing::info_span;
//! use apollo_router_core::ServiceBuilderExt;
//!
//! let instrumented = ServiceBuilder::new()
//! .instrument(|_request| info_span!("query_planning"))
//! .service(service);
//! ```
//! Now calls to the wrapped service will be wrapped in a span. You can attach attributes to the span from the request.
//!

use futures::future::BoxFuture;
use futures::FutureExt;
use std::marker::PhantomData;
Expand All @@ -6,6 +23,7 @@ use tower::Layer;
use tower_service::Service;
use tracing::Instrument;

/// [`Layer`] for instrumentation.
pub struct InstrumentLayer<F, Request>
where
F: Fn(&Request) -> tracing::Span,
Expand Down Expand Up @@ -42,6 +60,7 @@ where
}
}

/// [`Service`] for instrumentation.
pub struct InstrumentService<F, S, Request>
where
S: Service<Request>,
Expand Down
1 change: 1 addition & 0 deletions apollo-router-core/src/query_cache.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! A cache for queries.
use crate::prelude::graphql::*;
use crate::CacheResolver;
use std::sync::Arc;
Expand Down
3 changes: 2 additions & 1 deletion apollo-router/src/axum_http_server_factory.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Axum http server factory. Axum provides routing capability on top of Hyper HTTP.
use crate::configuration::{Configuration, Cors, ListenAddr};
use crate::http_server_factory::{HttpServerFactory, HttpServerHandle, Listener, NetworkStream};
use crate::FederatedServerError;
Expand Down Expand Up @@ -34,7 +35,7 @@ use tower_http::trace::{DefaultMakeSpan, MakeSpan, TraceLayer};
use tower_service::Service;
use tracing::{Level, Span};

/// A basic http server using warp.
/// A basic http server using Axum.
/// Uses streaming as primary method of response.
/// Redirects to studio for GET requests.
#[derive(Debug)]
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/apollo.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Configuration for apollo telemetry.
use crate::graphql::serde_utils::deserialize_header_name;
use http::header::HeaderName;
use schemars::JsonSchema;
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/config.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Configuration for the telemetry plugin.
use super::*;
use crate::plugins::telemetry::metrics;
use opentelemetry::sdk::Resource;
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/otlp.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Shared configuration for Otlp tracing and metrics.
use crate::configuration::ConfigurationError;
use crate::plugins::telemetry::config::GenericWith;
use opentelemetry_otlp::{HttpExporterBuilder, TonicExporterBuilder, WithExportConfig};
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/tracing/apollo.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Tracing configuration for apollo telemetry.
use crate::plugins::telemetry::apollo::Config;
use crate::plugins::telemetry::config::Trace;
use crate::plugins::telemetry::tracing::apollo_telemetry::{SpaceportConfig, StudioGraph};
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/tracing/datadog.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Configuration for datadog tracing.
use crate::plugins::telemetry::config::{GenericWith, Trace};
use crate::plugins::telemetry::tracing::TracingConfigurator;
use opentelemetry::sdk::trace::Builder;
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/tracing/jaeger.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Configuration for jaeger tracing.
use crate::plugins::telemetry::config::{GenericWith, Trace};
use crate::plugins::telemetry::tracing::TracingConfigurator;
use opentelemetry::sdk::trace::{BatchSpanProcessor, Builder};
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/tracing/otlp.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Configuration for Otlp tracing.
use crate::plugins::telemetry::config::Trace;
use crate::plugins::telemetry::tracing::TracingConfigurator;
use opentelemetry::sdk::trace::Builder;
Expand Down
1 change: 1 addition & 0 deletions apollo-router/src/plugins/telemetry/tracing/zipkin.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//! Configuration for zipkin tracing.
use crate::plugins::telemetry::config::{GenericWith, Trace};
use crate::plugins::telemetry::tracing::TracingConfigurator;
use opentelemetry::sdk::trace::Builder;
Expand Down

0 comments on commit bf40b73

Please sign in to comment.