From 827d180a9dea4365f40521756fedfda589e96e25 Mon Sep 17 00:00:00 2001 From: Dav1dde Date: Thu, 7 Nov 2024 12:05:01 +0000 Subject: [PATCH] deploy: a7d9096fcc8130afd2be61feec3332655effc3f2 --- help.html | 2 +- relay_filter/trait.Filterable.html | 14 ++++++------- relay_spans/fn.otel_to_sentry_span.html | 2 +- settings.html | 2 +- src/relay_server/services/server.rs.html | 26 +++++++++++++++++++++++- src/relay_server/statsd.rs.html | 6 ++++++ 6 files changed, 41 insertions(+), 11 deletions(-) diff --git a/help.html b/help.html index f23987b6a8..fbeea76065 100644 --- a/help.html +++ b/help.html @@ -1 +1 @@ -Help

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/relay_filter/trait.Filterable.html b/relay_filter/trait.Filterable.html index 689c0d5231..38bcda0939 100644 --- a/relay_filter/trait.Filterable.html +++ b/relay_filter/trait.Filterable.html @@ -1,20 +1,20 @@ Filterable in relay_filter - Rust

Trait relay_filter::Filterable

source ·
pub trait Filterable {
     // Required methods
-    fn csp(&self) -> Option<&Csp>;
-    fn exceptions(&self) -> Option<&Values<Exception>>;
+    fn csp(&self) -> Option<&Csp>;
+    fn exceptions(&self) -> Option<&Values<Exception>>;
     fn ip_addr(&self) -> Option<&str>;
-    fn logentry(&self) -> Option<&LogEntry>;
+    fn logentry(&self) -> Option<&LogEntry>;
     fn release(&self) -> Option<&str>;
     fn transaction(&self) -> Option<&str>;
     fn url(&self) -> Option<Url>;
     fn user_agent(&self) -> Option<&str>;
 }
Expand description

A data item to which filters can be applied.

-

Required Methods§

source

fn csp(&self) -> Option<&Csp>

The CSP report contained in the item. Only for CSP reports.

-
source

fn exceptions(&self) -> Option<&Values<Exception>>

The exception values of the item. Only for error events.

+

Required Methods§

source

fn csp(&self) -> Option<&Csp>

The CSP report contained in the item. Only for CSP reports.

+
source

fn exceptions(&self) -> Option<&Values<Exception>>

The exception values of the item. Only for error events.

source

fn ip_addr(&self) -> Option<&str>

The IP address of the client that sent the data.

-
source

fn logentry(&self) -> Option<&LogEntry>

The logentry message. Only for error events.

+
source

fn logentry(&self) -> Option<&LogEntry>

The logentry message. Only for error events.

source

fn release(&self) -> Option<&str>

The release string of the data item.

source

fn transaction(&self) -> Option<&str>

The transaction name. Only for transaction events.

source

fn url(&self) -> Option<Url>

The URL from which the request originates. Used for localhost filtering.

source

fn user_agent(&self) -> Option<&str>

The user agent of the client that sent the data.

-

Implementations on Foreign Types§

source§

impl Filterable for Event

source§

fn csp(&self) -> Option<&Csp>

source§

fn exceptions(&self) -> Option<&Values<Exception>>

source§

fn ip_addr(&self) -> Option<&str>

source§

fn logentry(&self) -> Option<&LogEntry>

source§

fn release(&self) -> Option<&str>

source§

fn transaction(&self) -> Option<&str>

source§

fn url(&self) -> Option<Url>

source§

fn user_agent(&self) -> Option<&str>

source§

impl Filterable for Replay

source§

fn csp(&self) -> Option<&Csp>

source§

fn exceptions(&self) -> Option<&Values<Exception>>

source§

fn ip_addr(&self) -> Option<&str>

source§

fn logentry(&self) -> Option<&LogEntry>

source§

fn release(&self) -> Option<&str>

source§

fn transaction(&self) -> Option<&str>

source§

fn url(&self) -> Option<Url>

source§

fn user_agent(&self) -> Option<&str>

source§

impl Filterable for Span

source§

fn csp(&self) -> Option<&Csp>

source§

fn exceptions(&self) -> Option<&Values<Exception>>

source§

fn ip_addr(&self) -> Option<&str>

source§

fn logentry(&self) -> Option<&LogEntry>

source§

fn release(&self) -> Option<&str>

source§

fn transaction(&self) -> Option<&str>

source§

fn url(&self) -> Option<Url>

source§

fn user_agent(&self) -> Option<&str>

Implementors§

\ No newline at end of file +

Implementations on Foreign Types§

source§

impl Filterable for Event

source§

impl Filterable for Replay

source§

impl Filterable for Span

Implementors§

\ No newline at end of file diff --git a/relay_spans/fn.otel_to_sentry_span.html b/relay_spans/fn.otel_to_sentry_span.html index 1df5daeb7f..c040664572 100644 --- a/relay_spans/fn.otel_to_sentry_span.html +++ b/relay_spans/fn.otel_to_sentry_span.html @@ -1,2 +1,2 @@ -otel_to_sentry_span in relay_spans - Rust

Function relay_spans::otel_to_sentry_span

source ·
pub fn otel_to_sentry_span(otel_span: Span) -> Span
Expand description

Transform an OtelSpan to a Sentry span.

+otel_to_sentry_span in relay_spans - Rust

Function relay_spans::otel_to_sentry_span

source ·
pub fn otel_to_sentry_span(otel_span: Span) -> Span
Expand description

Transform an OtelSpan to a Sentry span.

\ No newline at end of file diff --git a/settings.html b/settings.html index 13491d77f2..b9d06ba16d 100644 --- a/settings.html +++ b/settings.html @@ -1 +1 @@ -Settings

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/relay_server/services/server.rs.html b/src/relay_server/services/server.rs.html index 70f5dd9b44..2f3706606a 100644 --- a/src/relay_server/services/server.rs.html +++ b/src/relay_server/services/server.rs.html @@ -243,6 +243,18 @@ 243 244 245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257
use std::io;
 use std::net::{SocketAddr, TcpListener};
 use std::sync::Arc;
@@ -386,7 +398,7 @@
 pub struct KeepAliveAcceptor(Option<TcpKeepalive>);
 
 impl KeepAliveAcceptor {
-    /// Create a new acceptor that sets TCP_NODELAY and keep-alive.
+    /// Create a new acceptor that sets `TCP_NODELAY` and keep-alive.
     pub fn new(config: &Config) -> Self {
         Self(build_keepalive(config))
     }
@@ -398,17 +410,28 @@
     type Future = std::future::Ready<io::Result<(Self::Stream, Self::Service)>>;
 
     fn accept(&self, stream: TcpStream, service: S) -> Self::Future {
+        let mut keepalive = "ok";
+        let mut nodelay = "ok";
+
         if let Self(Some(ref tcp_keepalive)) = self {
             let sock_ref = socket2::SockRef::from(&stream);
             if let Err(e) = sock_ref.set_tcp_keepalive(tcp_keepalive) {
                 relay_log::trace!("error trying to set TCP keepalive: {e}");
+                keepalive = "error";
             }
         }
 
         if let Err(e) = stream.set_nodelay(true) {
             relay_log::trace!("failed to set TCP_NODELAY: {e}");
+            nodelay = "error";
         }
 
+        relay_statsd::metric!(
+            counter(RelayCounters::ServerSocketAccept) += 1,
+            keepalive = keepalive,
+            nodelay = nodelay
+        );
+
         std::future::ready(Ok((stream, service)))
     }
 }
@@ -425,6 +448,7 @@
         .http1()
         .timer(TokioTimer::new())
         .half_close(true)
+        .keep_alive(true)
         .header_read_timeout(CLIENT_HEADER_TIMEOUT)
         .writev(true);
 
diff --git a/src/relay_server/statsd.rs.html b/src/relay_server/statsd.rs.html
index 3c52f9bb70..8f0620be43 100644
--- a/src/relay_server/statsd.rs.html
+++ b/src/relay_server/statsd.rs.html
@@ -973,6 +973,9 @@
 973
 974
 975
+976
+977
+978
 
use relay_statsd::{CounterMetric, GaugeMetric, HistogramMetric, TimerMetric};
 #[cfg(doc)]
 use tokio::runtime::RuntimeMetrics;
@@ -1834,6 +1837,8 @@
     BucketsDropped,
     /// Incremented every time a segment exceeds the expected limit.
     ReplayExceededSegmentLimit,
+    /// Incremented every time the server accepts a new connection.
+    ServerSocketAccept,
 }
 
 impl CounterMetric for RelayCounters {
@@ -1879,6 +1884,7 @@
             RelayCounters::ProjectStateFlushMetricsNoProject => "project_state.metrics.no_project",
             RelayCounters::BucketsDropped => "metrics.buckets.dropped",
             RelayCounters::ReplayExceededSegmentLimit => "replay.segment_limit_exceeded",
+            RelayCounters::ServerSocketAccept => "server.http.accepted",
         }
     }
 }