From e2c901aa4ad08c7f98abc5d64f8e79567f1924f6 Mon Sep 17 00:00:00 2001 From: iambriccardo Date: Mon, 17 Jun 2024 07:07:47 +0000 Subject: [PATCH] deploy: b64c5795c308e64317ba49f906111b6faf137d81 --- relay_cardinality/enum.Error.html | 6 ++-- relay_cardinality/struct.RedisSetLimiter.html | 2 +- relay_config/struct.Config.html | 14 ++++---- relay_config/struct.Processing.html | 12 +++---- .../processor/derive.ProcessValue.html | 2 +- relay_filter/fn.should_filter.html | 2 +- relay_filter/generic/index.html | 2 +- relay_filter/index.html | 2 +- relay_filter/struct.GenericFilterConfig.html | 4 +-- relay_filter/trait.Filterable.html | 14 ++++---- .../transaction_name/fn.should_filter.html | 2 +- relay_filter/transaction_name/index.html | 2 +- .../meta/struct.RedisMetricMetaStore.html | 4 +-- relay_quotas/enum.RateLimitingError.html | 4 +-- relay_quotas/struct.RedisRateLimiter.html | 2 +- .../evaluation/struct.ReservoirEvaluator.html | 2 +- relay_spans/fn.otel_to_sentry_span.html | 2 +- relay_test/index.html | 2 +- src/relay_server/utils/rate_limits.rs.html | 36 ++++++++++++++++++- trait.impl/core/convert/trait.From.js | 2 +- 20 files changed, 76 insertions(+), 42 deletions(-) diff --git a/relay_cardinality/enum.Error.html b/relay_cardinality/enum.Error.html index d1ce3e3d68..216a02515e 100644 --- a/relay_cardinality/enum.Error.html +++ b/relay_cardinality/enum.Error.html @@ -1,8 +1,8 @@ Error in relay_cardinality - Rust

Enum relay_cardinality::Error

source ·
pub enum Error {
-    RedisError(RedisError),
+    RedisError(RedisError),
 }
Expand description

Error for the cardinality module.

-

Variants§

§

RedisError(RedisError)

Something went wrong with Redis.

-

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<RedisError> for Error

source§

fn from(source: RedisError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

RedisError(RedisError)

Something went wrong with Redis.

+

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<RedisError> for Error

source§

fn from(source: RedisError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/relay_cardinality/struct.RedisSetLimiter.html b/relay_cardinality/struct.RedisSetLimiter.html index 9d6c5a9f68..7c61c821f0 100644 --- a/relay_cardinality/struct.RedisSetLimiter.html +++ b/relay_cardinality/struct.RedisSetLimiter.html @@ -1,6 +1,6 @@ RedisSetLimiter in relay_cardinality - Rust

Struct relay_cardinality::RedisSetLimiter

source ·
pub struct RedisSetLimiter { /* private fields */ }
Expand description

Implementation uses Redis sets to keep track of cardinality.

Implementations§

source§

impl RedisSetLimiter

A Redis based limiter using Redis sets to track cardinality and membership.

-
source

pub fn new(options: RedisSetLimiterOptions, redis: RedisPool) -> Self

Creates a new RedisSetLimiter.

+
source

pub fn new(options: RedisSetLimiterOptions, redis: RedisPool) -> Self

Creates a new RedisSetLimiter.

Trait Implementations§

source§

impl Limiter for RedisSetLimiter

source§

fn check_cardinality_limits<'a, 'b, E, R>( &self, scoping: Scoping, diff --git a/relay_config/struct.Config.html b/relay_config/struct.Config.html index dfad12904d..fd95caff84 100644 --- a/relay_config/struct.Config.html +++ b/relay_config/struct.Config.html @@ -135,10 +135,10 @@

source

pub fn max_session_secs_in_past(&self) -> i64

Maximum age of ingested sessions. Older sessions will be dropped.

source

pub fn kafka_config( &self, - topic: KafkaTopic -) -> Result<KafkaParams<'_>, KafkaConfigError>

Configuration name and list of Kafka configuration parameters for a given topic.

+ topic: KafkaTopic +) -> Result<KafkaParams<'_>, KafkaConfigError>

Configuration name and list of Kafka configuration parameters for a given topic.

source

pub fn kafka_validate_topics(&self) -> bool

Whether to validate the topics against Kafka.

-
source

pub fn unused_topic_assignments(&self) -> &BTreeMap<String, TopicAssignment>

All unused but configured topic assignments.

+
source

pub fn unused_topic_assignments(&self) -> &BTreeMap<String, TopicAssignment>

All unused but configured topic assignments.

source

pub fn redis(&self) -> Option<&RedisConfig>

Redis servers to connect to, for rate limiting.

source

pub fn attachment_chunk_size(&self) -> usize

Chunk size of attachments in bytes.

source

pub fn metrics_max_batch_size_bytes(&self) -> usize

Maximum metrics batch size in bytes.

@@ -155,15 +155,15 @@
source

pub fn cogs_granularity(&self) -> Duration

Granularity for COGS measurements.

source

pub fn cogs_max_queue_size(&self) -> u64

Maximum amount of COGS measurements buffered in memory.

source

pub fn cogs_relay_resource_id(&self) -> &str

Resource ID to use for Relay COGS measurements.

-
source

pub fn permissive_aggregator_config(&self) -> AggregatorConfig

Creates an AggregatorConfig that is compatible with every other aggregator.

+
source

pub fn permissive_aggregator_config(&self) -> AggregatorConfig

Creates an [AggregatorConfig] that is compatible with every other aggregator.

A lossless aggregator can be put in front of any of the configured aggregators without losing data that the configured aggregator would keep. This is useful for pre-aggregating metrics together in a single aggregator instance.

-
source

pub fn default_aggregator_config(&self) -> &AggregatorServiceConfig

Returns configuration for the default metrics aggregator.

-
source

pub fn secondary_aggregator_configs(&self) -> &Vec<ScopedAggregatorConfig>

Returns configuration for non-default metrics aggregators.

+
source

pub fn default_aggregator_config(&self) -> &AggregatorServiceConfig

Returns configuration for the default metrics aggregator.

+
source

pub fn secondary_aggregator_configs(&self) -> &Vec<ScopedAggregatorConfig>

Returns configuration for non-default metrics aggregators.

source

pub fn aggregator_config_for( &self, namespace: MetricNamespace -) -> &AggregatorServiceConfig

Returns aggregator config for a given metrics namespace.

+) -> &AggregatorServiceConfig

Returns aggregator config for a given metrics namespace.

source

pub fn static_relays(&self) -> &HashMap<RelayId, RelayInfo>

Return the statically configured Relays.

source

pub fn accept_unknown_items(&self) -> bool

Returns true if unknown items should be accepted and forwarded.

Trait Implementations§

source§

impl Debug for Config

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Config

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/relay_config/struct.Processing.html b/relay_config/struct.Processing.html index 92ac4ab33f..52b49d1141 100644 --- a/relay_config/struct.Processing.html +++ b/relay_config/struct.Processing.html @@ -4,9 +4,9 @@ pub max_secs_in_future: u32, pub max_secs_in_past: u32, pub max_session_secs_in_past: u32, - pub kafka_config: Vec<KafkaConfigParam>, - pub secondary_kafka_configs: BTreeMap<String, Vec<KafkaConfigParam>>, - pub topics: TopicAssignments, + pub kafka_config: Vec<KafkaConfigParam>, + pub secondary_kafka_configs: BTreeMap<String, Vec<KafkaConfigParam>>, + pub topics: TopicAssignments, pub kafka_validate_topics: bool, pub redis: Option<RedisConfig>, pub attachment_chunk_size: ByteSize, @@ -18,8 +18,8 @@
§max_secs_in_future: u32

Maximum future timestamp of ingested events.

§max_secs_in_past: u32

Maximum age of ingested events. Older events will be adjusted to now().

§max_session_secs_in_past: u32

Maximum age of ingested sessions. Older sessions will be dropped.

-
§kafka_config: Vec<KafkaConfigParam>

Kafka producer configurations.

-
§secondary_kafka_configs: BTreeMap<String, Vec<KafkaConfigParam>>

Additional kafka producer configurations.

+
§kafka_config: Vec<KafkaConfigParam>

Kafka producer configurations.

+
§secondary_kafka_configs: BTreeMap<String, Vec<KafkaConfigParam>>

Additional kafka producer configurations.

The kafka_config is the default producer configuration used for all topics. A secondary kafka config can be referenced in topics: like this:

secondary_kafka_configs:
@@ -34,7 +34,7 @@
     config: mycustomcluster
 

Then metrics will be produced to an entirely different Kafka cluster.

-
§topics: TopicAssignments

Kafka topic names.

+
§topics: TopicAssignments

Kafka topic names.

§kafka_validate_topics: bool

Whether to validate the supplied topics by calling Kafka’s metadata endpoints.

§redis: Option<RedisConfig>

Redis hosts to connect to for storing state for rate limits.

§attachment_chunk_size: ByteSize

Maximum chunk size of attachments for Kafka.

diff --git a/relay_event_schema/processor/derive.ProcessValue.html b/relay_event_schema/processor/derive.ProcessValue.html index 3dadda5b24..25179610ed 100644 --- a/relay_event_schema/processor/derive.ProcessValue.html +++ b/relay_event_schema/processor/derive.ProcessValue.html @@ -1,4 +1,4 @@ -ProcessValue in relay_event_schema::processor - Rust

Derive Macro relay_event_schema::processor::ProcessValue

source ·
#[derive(ProcessValue)]
+ProcessValue in relay_event_schema::processor - Rust

Derive Macro relay_event_schema::processor::ProcessValue

#[derive(ProcessValue)]
 {
     // Attributes available to this derive:
     #[metastructure]
diff --git a/relay_filter/fn.should_filter.html b/relay_filter/fn.should_filter.html
index eeb4a45520..6250d4a90e 100644
--- a/relay_filter/fn.should_filter.html
+++ b/relay_filter/fn.should_filter.html
@@ -1,4 +1,4 @@
-should_filter in relay_filter - Rust

Function relay_filter::should_filter

source ·
pub fn should_filter<F: Filterable + Getter>(
+should_filter in relay_filter - Rust

Function relay_filter::should_filter

source ·
pub fn should_filter<F: Filterable + Getter>(
     item: &F,
     client_ip: Option<IpAddr>,
     config: &ProjectFiltersConfig,
diff --git a/relay_filter/generic/index.html b/relay_filter/generic/index.html
index 0d4123f2d7..c6505be267 100644
--- a/relay_filter/generic/index.html
+++ b/relay_filter/generic/index.html
@@ -1,4 +1,4 @@
-relay_filter::generic - Rust

Module relay_filter::generic

source ·
Expand description

Implements generic filtering based on the [RuleCondition] DSL.

+relay_filter::generic - Rust

Module relay_filter::generic

source ·
Expand description

Implements generic filtering based on the RuleCondition DSL.

Multiple generic filters can be defined and they are going to be checked in FIFO order. The first one that matches, will result in the event being discarded with a FilterStatKey identifying the matching filter.

diff --git a/relay_filter/index.html b/relay_filter/index.html index 25c4660541..ec6013d074 100644 --- a/relay_filter/index.html +++ b/relay_filter/index.html @@ -6,4 +6,4 @@
  • web crawlers (filter events sent by user agents known to be web crawlers)
  • legacy browsers (filter events originating from legacy browsers, can be configured)
  • -

    Re-exports§

    Modules§

    • Implements filtering for events caused by problematic browsers extensions.
    • Implements event filtering based on the client ip address.
    • Implements event filtering for events originating from CSP endpoints
    • Implements event filtering based on the error message
    • Implements generic filtering based on the [RuleCondition] DSL.
    • Implements filtering for events originating from legacy browsers.
    • Implements filtering for events originating from the localhost
    • Implements event filtering based on whether the endpoint called is a healthcheck endpoint.
    • Filters events coming from user agents known to be web crawlers.

    Structs§

    Enums§

    • Identifies which filter dropped an event for which reason.
    • A browser class to be filtered by the legacy browser filter.

    Traits§

    • A data item to which filters can be applied.

    Functions§

    • Checks whether an event should be filtered for a particular configuration.
    \ No newline at end of file +

    Re-exports§

    Modules§

    • Implements filtering for events caused by problematic browsers extensions.
    • Implements event filtering based on the client ip address.
    • Implements event filtering for events originating from CSP endpoints
    • Implements event filtering based on the error message
    • Implements generic filtering based on the RuleCondition DSL.
    • Implements filtering for events originating from legacy browsers.
    • Implements filtering for events originating from the localhost
    • Implements event filtering based on whether the endpoint called is a healthcheck endpoint.
    • Filters events coming from user agents known to be web crawlers.

    Structs§

    Enums§

    • Identifies which filter dropped an event for which reason.
    • A browser class to be filtered by the legacy browser filter.

    Traits§

    • A data item to which filters can be applied.

    Functions§

    • Checks whether an event should be filtered for a particular configuration.
    \ No newline at end of file diff --git a/relay_filter/struct.GenericFilterConfig.html b/relay_filter/struct.GenericFilterConfig.html index aef6c8ad55..693b338ab9 100644 --- a/relay_filter/struct.GenericFilterConfig.html +++ b/relay_filter/struct.GenericFilterConfig.html @@ -1,11 +1,11 @@ GenericFilterConfig in relay_filter - Rust

    Struct relay_filter::GenericFilterConfig

    source ·
    pub struct GenericFilterConfig {
         pub id: String,
         pub is_enabled: bool,
    -    pub condition: Option<RuleCondition>,
    +    pub condition: Option<RuleCondition>,
     }
    Expand description

    Configuration for a generic filter.

    Fields§

    §id: String

    Unique identifier of the generic filter.

    §is_enabled: bool

    Specifies whether this filter is enabled.

    -
    §condition: Option<RuleCondition>

    The condition for the filter.

    +
    §condition: Option<RuleCondition>

    The condition for the filter.

    Implementations§

    source§

    impl GenericFilterConfig

    source

    pub fn is_empty(&self) -> bool

    Returns true if the filter is not enabled or no condition was supplied.

    Trait Implementations§

    source§

    impl Clone for GenericFilterConfig

    source§

    fn clone(&self) -> GenericFilterConfig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GenericFilterConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for GenericFilterConfig

    source§

    fn default() -> GenericFilterConfig

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for GenericFilterConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for GenericFilterConfig

    source§

    fn eq(&self, other: &GenericFilterConfig) -> bool

    This method tests for self and other values to be equal, and is used diff --git a/relay_filter/trait.Filterable.html b/relay_filter/trait.Filterable.html index 04548729f1..c81d19ff35 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_filter/transaction_name/fn.should_filter.html b/relay_filter/transaction_name/fn.should_filter.html index f17a83f407..07ccf58d63 100644 --- a/relay_filter/transaction_name/fn.should_filter.html +++ b/relay_filter/transaction_name/fn.should_filter.html @@ -1,6 +1,6 @@ should_filter in relay_filter::transaction_name - Rust

    Function relay_filter::transaction_name::should_filter

    source ·
    pub fn should_filter<F: Filterable>(
         item: &F,
         config: &IgnoreTransactionsFilterConfig
    -) -> Result<(), FilterStatKey>
    Expand description

    Filters Transaction events based on a list of provided transaction +) -> Result<(), FilterStatKey>

    Expand description

    Filters Transaction events based on a list of provided transaction name globs.

    \ No newline at end of file diff --git a/relay_filter/transaction_name/index.html b/relay_filter/transaction_name/index.html index 90c3d791ee..c60e98ee3d 100644 --- a/relay_filter/transaction_name/index.html +++ b/relay_filter/transaction_name/index.html @@ -1,4 +1,4 @@ relay_filter::transaction_name - Rust

    Module relay_filter::transaction_name

    source ·
    Expand description

    Implements event filtering based on whether the endpoint called is a healthcheck endpoint.

    If this filter is enabled transactions from healthcheck endpoints will be filtered out.

    -

    Functions§

    Functions§

    \ No newline at end of file diff --git a/relay_metrics/meta/struct.RedisMetricMetaStore.html b/relay_metrics/meta/struct.RedisMetricMetaStore.html index aa376e70f8..f032e89629 100644 --- a/relay_metrics/meta/struct.RedisMetricMetaStore.html +++ b/relay_metrics/meta/struct.RedisMetricMetaStore.html @@ -1,11 +1,11 @@ RedisMetricMetaStore in relay_metrics::meta - Rust

    Struct relay_metrics::meta::RedisMetricMetaStore

    source ·
    pub struct RedisMetricMetaStore { /* private fields */ }
    Expand description

    Redis metric meta

    -

    Implementations§

    source§

    impl RedisMetricMetaStore

    source

    pub fn new(redis: RedisPool, expiry: Duration) -> Self

    Creates a new Redis metrics meta store.

    +

    Implementations§

    source§

    impl RedisMetricMetaStore

    source

    pub fn new(redis: RedisPool, expiry: Duration) -> Self

    Creates a new Redis metrics meta store.

    source

    pub fn store( &self, organization_id: u64, project_id: ProjectId, meta: MetricMeta -) -> Result<(), RedisError>

    Stores metric metadata in Redis.

    +) -> Result<(), RedisError>

    Stores metric metadata in Redis.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where diff --git a/relay_quotas/enum.RateLimitingError.html b/relay_quotas/enum.RateLimitingError.html index 17cc796101..7a467dd0eb 100644 --- a/relay_quotas/enum.RateLimitingError.html +++ b/relay_quotas/enum.RateLimitingError.html @@ -1,7 +1,7 @@ RateLimitingError in relay_quotas - Rust

    Enum relay_quotas::RateLimitingError

    source ·
    pub enum RateLimitingError {
    -    Redis(RedisError),
    +    Redis(RedisError),
     }
    Expand description

    An error returned by RedisRateLimiter.

    -

    Variants§

    §

    Redis(RedisError)

    Failed to communicate with Redis.

    +

    Variants§

    §

    Redis(RedisError)

    Failed to communicate with Redis.

    Trait Implementations§

    source§

    impl Debug for RateLimitingError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for RateLimitingError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for RateLimitingError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where diff --git a/relay_quotas/struct.RedisRateLimiter.html b/relay_quotas/struct.RedisRateLimiter.html index 8d36d24675..67012664dc 100644 --- a/relay_quotas/struct.RedisRateLimiter.html +++ b/relay_quotas/struct.RedisRateLimiter.html @@ -5,7 +5,7 @@ quotas allow to specify the data categories they apply to, for example error events or attachments. For more information on quota parameters, see QuotaConfig.

    Requires the redis feature.

    -

    Implementations§

    source§

    impl RedisRateLimiter

    source

    pub fn new(pool: RedisPool) -> Self

    Creates a new RedisRateLimiter instance.

    +

    Implementations§

    source§

    impl RedisRateLimiter

    source

    pub fn new(pool: RedisPool) -> Self

    Creates a new RedisRateLimiter instance.

    source

    pub fn max_limit(self, max_limit: Option<u64>) -> Self

    Sets the maximum rate limit in seconds.

    By default, this rate limiter will return rate limits based on the quotas’ window fields. If a maximum rate limit is set, this limit is bounded.

    diff --git a/relay_sampling/evaluation/struct.ReservoirEvaluator.html b/relay_sampling/evaluation/struct.ReservoirEvaluator.html index ee1bfe8bce..1ea709abb4 100644 --- a/relay_sampling/evaluation/struct.ReservoirEvaluator.html +++ b/relay_sampling/evaluation/struct.ReservoirEvaluator.html @@ -14,7 +14,7 @@

    Implementations§

    source§

    impl<'a> ReservoirEvaluator<'a>

    source

    pub fn new(counters: ReservoirCounters) -> Self

    Constructor for ReservoirEvaluator.

    source

    pub fn counters(&self) -> ReservoirCounters

    Gets shared ownership of the reservoir counters.

    -
    source

    pub fn set_redis(&mut self, org_id: u64, redis_pool: &'a RedisPool)

    Sets the Redis pool and organiation ID for the ReservoirEvaluator.

    +
    source

    pub fn set_redis(&mut self, org_id: u64, redis_pool: &'a RedisPool)

    Sets the Redis pool and organiation ID for the ReservoirEvaluator.

    These values are needed to synchronize with Redis.

    source

    pub fn incr_local(&self, rule: RuleId, limit: i64) -> bool

    Evaluates a reservoir rule, returning true if it should be sampled.

    source

    pub fn evaluate( diff --git a/relay_spans/fn.otel_to_sentry_span.html b/relay_spans/fn.otel_to_sentry_span.html index d2b2f3f381..83fa3eef3e 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/relay_test/index.html b/relay_test/index.html index ed955bf6c3..d25fdbadf0 100644 --- a/relay_test/index.html +++ b/relay_test/index.html @@ -2,7 +2,7 @@

    When writing tests, keep the following points in mind:

    • In every test, call setup. This will set up the logger so that all console output is -captured by the test runner. All logs emitted with [relay_log] will show up for test +captured by the test runner. All logs emitted with relay_log will show up for test failures or when run with --nocapture.

    §Example

    diff --git a/src/relay_server/utils/rate_limits.rs.html b/src/relay_server/utils/rate_limits.rs.html index b3f557b8cb..a04e1510ff 100644 --- a/src/relay_server/utils/rate_limits.rs.html +++ b/src/relay_server/utils/rate_limits.rs.html @@ -1565,6 +1565,23 @@ 1565 1566 1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1580 +1581 +1582 +1583 +1584
    use std::fmt::{self, Write};
     
     use relay_dynamic_config::{ErrorBoundary, ProjectConfig};
    @@ -2130,6 +2147,10 @@
                     // Otherwise, the outcome is logged at a different place.
                     if !summary.transaction_metrics_extracted {
                         enforcement.event_metrics = CategoryLimit::new(category, 1, longest);
    +                    if summary.span_quantity > 0 {
    +                        enforcement.span_metrics =
    +                            CategoryLimit::new(DataCategory::Span, summary.span_quantity, longest);
    +                    }
                     }
     
                     // If the main category is rate limited, we drop both the event and metrics. If
    @@ -2140,10 +2161,21 @@
                     }
     
                     enforcement.event = CategoryLimit::new(index_category, 1, longest);
    +                if summary.span_quantity > 0 {
    +                    enforcement.spans = CategoryLimit::new(
    +                        DataCategory::SpanIndexed,
    +                        summary.span_quantity,
    +                        longest,
    +                    );
    +                }
                 } else {
                     event_limits = (self.check)(scoping.item(category), 1)?;
                     longest = event_limits.longest();
                     enforcement.event = CategoryLimit::new(category, 1, longest);
    +                if summary.span_quantity > 0 {
    +                    enforcement.spans =
    +                        CategoryLimit::new(DataCategory::Span, summary.span_quantity, longest);
    +                }
                 }
     
                 // Record the same reason for attachments, if there are any.
    @@ -2233,7 +2265,9 @@
                 rate_limits.merge(checkin_limits);
             }
     
    -        if summary.span_quantity > 0 {
    +        // We want to process spans rate limits only if they were not already applied because a
    +        // rate limited transaction has also rate limited its child spans.
    +        if !enforcement.event.is_active() && summary.span_quantity > 0 {
                 // Check for rate limits on the main category but do not consume
                 // quota. Quota will be consumed by the metrics rate limiter instead.
                 let mut span_limits = (self.check)(scoping.item(DataCategory::Span), 0)?;
    diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js
    index 3be1c803cb..dfa467bbe1 100644
    --- a/trait.impl/core/convert/trait.From.js
    +++ b/trait.impl/core/convert/trait.From.js
    @@ -1,7 +1,7 @@
     (function() {var implementors = {
     "relay_base_schema":[["impl From<&str> for MetricName"],["impl From<EventType> for DataCategory"],["impl From<String> for MetricName"],["impl From<Arc<str>> for MetricName"]],
     "relay_cabi":[["impl From<String> for RelayStr"],["impl From<Uuid> for RelayUuid"],["impl<'a> From<&'a str> for RelayStr"]],
    -"relay_cardinality":[["impl From<RedisError> for Error"]],
    +"relay_cardinality":[["impl From<RedisError> for Error"]],
     "relay_cogs":[["impl From<AppFeature> for FeatureWeights"]],
     "relay_common":[["impl From<String> for Glob"],["impl<'a> From<&'a str> for Glob"]],
     "relay_config":[["impl From<u32> for ByteSize"]],