@@ -1245,7 +1245,6 @@ impl EnvelopeProcessorService {
1245
1245
} )
1246
1246
}
1247
1247
1248
- #[ cfg( feature = "processing" ) ]
1249
1248
async fn enforce_quotas < Group > (
1250
1249
& self ,
1251
1250
managed_envelope : & mut TypedEnvelope < Group > ,
@@ -1273,28 +1272,30 @@ impl EnvelopeProcessorService {
1273
1272
)
1274
1273
. await ?;
1275
1274
1276
- // Enforce all quotas consistently with Redis.
1277
- let consistent_result = RateLimiter :: Consistent ( rate_limiter)
1278
- . enforce (
1279
- managed_envelope,
1280
- cached_result. event ,
1281
- extracted_metrics,
1282
- & global_config,
1283
- project_info,
1284
- rate_limits,
1285
- )
1286
- . await ?;
1275
+ if_processing ! ( self . inner. config, {
1276
+ // Enforce all quotas consistently with Redis.
1277
+ let consistent_result = RateLimiter :: Consistent ( rate_limiter)
1278
+ . enforce(
1279
+ managed_envelope,
1280
+ cached_result. event,
1281
+ extracted_metrics,
1282
+ & global_config,
1283
+ project_info,
1284
+ rate_limits,
1285
+ )
1286
+ . await ?;
1287
1287
1288
- // Update cached rate limits with the freshly computed ones.
1289
- if !consistent_result. rate_limits . is_empty ( ) {
1290
- self . inner
1291
- . project_cache
1292
- . get ( managed_envelope. scoping ( ) . project_key )
1293
- . rate_limits ( )
1294
- . merge ( consistent_result. rate_limits ) ;
1295
- }
1288
+ // Update cached rate limits with the freshly computed ones.
1289
+ if !consistent_result. rate_limits. is_empty( ) {
1290
+ self . inner
1291
+ . project_cache
1292
+ . get( managed_envelope. scoping( ) . project_key)
1293
+ . rate_limits( )
1294
+ . merge( consistent_result. rate_limits) ;
1295
+ }
1296
1296
1297
- Ok ( consistent_result. event )
1297
+ Ok ( consistent_result. event)
1298
+ } else { Ok ( cached_result. event) } )
1298
1299
}
1299
1300
1300
1301
/// Extract transaction metrics.
@@ -1629,17 +1630,15 @@ impl EnvelopeProcessorService {
1629
1630
) ;
1630
1631
}
1631
1632
1632
- if_processing ! ( self . inner. config, {
1633
- event = self
1634
- . enforce_quotas(
1635
- managed_envelope,
1636
- event,
1637
- & mut extracted_metrics,
1638
- project_info. clone( ) ,
1639
- rate_limits,
1640
- )
1641
- . await ?;
1642
- } ) ;
1633
+ event = self
1634
+ . enforce_quotas (
1635
+ managed_envelope,
1636
+ event,
1637
+ & mut extracted_metrics,
1638
+ project_info. clone ( ) ,
1639
+ rate_limits,
1640
+ )
1641
+ . await ?;
1643
1642
1644
1643
if event. value ( ) . is_some ( ) {
1645
1644
event:: scrub ( & mut event, project_info. clone ( ) ) ?;
@@ -1822,17 +1821,15 @@ impl EnvelopeProcessorService {
1822
1821
// - An empty envelope.
1823
1822
// - An envelope containing only processed profiles.
1824
1823
// We need to make sure there are enough quotas for these profiles.
1825
- if_processing ! ( self . inner. config, {
1826
- event = self
1827
- . enforce_quotas(
1828
- managed_envelope,
1829
- Annotated :: empty( ) ,
1830
- & mut extracted_metrics,
1831
- project_info. clone( ) ,
1832
- rate_limits,
1833
- )
1834
- . await ?;
1835
- } ) ;
1824
+ event = self
1825
+ . enforce_quotas (
1826
+ managed_envelope,
1827
+ Annotated :: empty ( ) ,
1828
+ & mut extracted_metrics,
1829
+ project_info. clone ( ) ,
1830
+ rate_limits,
1831
+ )
1832
+ . await ?;
1836
1833
1837
1834
return Ok ( Some ( extracted_metrics) ) ;
1838
1835
}
@@ -1882,17 +1879,19 @@ impl EnvelopeProcessorService {
1882
1879
spans_extracted,
1883
1880
) ;
1884
1881
}
1882
+ } ) ;
1885
1883
1886
- event = self
1887
- . enforce_quotas(
1888
- managed_envelope,
1889
- event,
1890
- & mut extracted_metrics,
1891
- project_info. clone( ) ,
1892
- rate_limits,
1893
- )
1894
- . await ?;
1884
+ event = self
1885
+ . enforce_quotas (
1886
+ managed_envelope,
1887
+ event,
1888
+ & mut extracted_metrics,
1889
+ project_info. clone ( ) ,
1890
+ rate_limits,
1891
+ )
1892
+ . await ?;
1895
1893
1894
+ if_processing ! ( self . inner. config, {
1896
1895
event = span:: maybe_discard_transaction( managed_envelope, event, project_info) ;
1897
1896
} ) ;
1898
1897
@@ -1925,24 +1924,25 @@ impl EnvelopeProcessorService {
1925
1924
_rate_limits : Arc < RateLimits > ,
1926
1925
) -> Result < Option < ProcessingExtractedMetrics > , ProcessingError > {
1927
1926
profile_chunk:: filter ( managed_envelope, project_info. clone ( ) ) ;
1927
+
1928
1928
if_processing ! ( self . inner. config, {
1929
1929
profile_chunk:: process(
1930
1930
managed_envelope,
1931
1931
project_info. clone( ) ,
1932
1932
& self . inner. global_config. current( ) ,
1933
1933
& self . inner. config,
1934
1934
) ;
1935
-
1936
- self . enforce_quotas(
1937
- managed_envelope,
1938
- Annotated :: empty( ) ,
1939
- & mut ProcessingExtractedMetrics :: new( ) ,
1940
- project_info,
1941
- _rate_limits,
1942
- )
1943
- . await ?;
1944
1935
} ) ;
1945
1936
1937
+ self . enforce_quotas (
1938
+ managed_envelope,
1939
+ Annotated :: empty ( ) ,
1940
+ & mut ProcessingExtractedMetrics :: new ( ) ,
1941
+ project_info,
1942
+ _rate_limits,
1943
+ )
1944
+ . await ?;
1945
+
1946
1946
Ok ( None )
1947
1947
}
1948
1948
@@ -1968,16 +1968,14 @@ impl EnvelopeProcessorService {
1968
1968
project_info. clone ( ) ,
1969
1969
) ;
1970
1970
1971
- if_processing ! ( self . inner. config, {
1972
- self . enforce_quotas(
1973
- managed_envelope,
1974
- Annotated :: empty( ) ,
1975
- & mut extracted_metrics,
1976
- project_info. clone( ) ,
1977
- _rate_limits,
1978
- )
1979
- . await ?;
1980
- } ) ;
1971
+ self . enforce_quotas (
1972
+ managed_envelope,
1973
+ Annotated :: empty ( ) ,
1974
+ & mut extracted_metrics,
1975
+ project_info. clone ( ) ,
1976
+ _rate_limits,
1977
+ )
1978
+ . await ?;
1981
1979
1982
1980
report:: process_user_reports ( managed_envelope) ;
1983
1981
attachment:: scrub ( managed_envelope, project_info) ;
@@ -2000,16 +1998,15 @@ impl EnvelopeProcessorService {
2000
1998
project_info. clone ( ) ,
2001
1999
& self . inner . config ,
2002
2000
) ;
2003
- if_processing ! ( self . inner. config, {
2004
- self . enforce_quotas(
2005
- managed_envelope,
2006
- Annotated :: empty( ) ,
2007
- & mut extracted_metrics,
2008
- project_info,
2009
- rate_limits,
2010
- )
2011
- . await ?;
2012
- } ) ;
2001
+
2002
+ self . enforce_quotas (
2003
+ managed_envelope,
2004
+ Annotated :: empty ( ) ,
2005
+ & mut extracted_metrics,
2006
+ project_info,
2007
+ rate_limits,
2008
+ )
2009
+ . await ?;
2013
2010
2014
2011
Ok ( Some ( extracted_metrics) )
2015
2012
}
@@ -2025,16 +2022,14 @@ impl EnvelopeProcessorService {
2025
2022
#[ allow( unused_mut) ]
2026
2023
let mut extracted_metrics = ProcessingExtractedMetrics :: new ( ) ;
2027
2024
2028
- if_processing ! ( self . inner. config, {
2029
- self . enforce_quotas(
2030
- managed_envelope,
2031
- Annotated :: empty( ) ,
2032
- & mut extracted_metrics,
2033
- project_info. clone( ) ,
2034
- rate_limits,
2035
- )
2036
- . await ?;
2037
- } ) ;
2025
+ self . enforce_quotas (
2026
+ managed_envelope,
2027
+ Annotated :: empty ( ) ,
2028
+ & mut extracted_metrics,
2029
+ project_info. clone ( ) ,
2030
+ rate_limits,
2031
+ )
2032
+ . await ?;
2038
2033
2039
2034
report:: process_client_reports (
2040
2035
managed_envelope,
@@ -2065,44 +2060,40 @@ impl EnvelopeProcessorService {
2065
2060
self . inner . geoip_lookup . as_ref ( ) ,
2066
2061
) ?;
2067
2062
2068
- if_processing ! ( self . inner. config, {
2069
- self . enforce_quotas(
2070
- managed_envelope,
2071
- Annotated :: empty( ) ,
2072
- & mut extracted_metrics,
2073
- project_info,
2074
- rate_limits,
2075
- )
2076
- . await ?;
2077
- } ) ;
2063
+ self . enforce_quotas (
2064
+ managed_envelope,
2065
+ Annotated :: empty ( ) ,
2066
+ & mut extracted_metrics,
2067
+ project_info,
2068
+ rate_limits,
2069
+ )
2070
+ . await ?;
2078
2071
2079
2072
Ok ( Some ( extracted_metrics) )
2080
2073
}
2081
2074
2082
2075
/// Processes cron check-ins.
2083
2076
async fn process_checkins (
2084
2077
& self ,
2085
- # [ allow ( unused_variables ) ] managed_envelope : & mut TypedEnvelope < CheckInGroup > ,
2086
- # [ allow ( unused_variables ) ] project_id : ProjectId ,
2087
- # [ allow ( unused_variables ) ] project_info : Arc < ProjectInfo > ,
2088
- # [ allow ( unused_variables ) ] rate_limits : Arc < RateLimits > ,
2078
+ managed_envelope : & mut TypedEnvelope < CheckInGroup > ,
2079
+ project_id : ProjectId ,
2080
+ project_info : Arc < ProjectInfo > ,
2081
+ rate_limits : Arc < RateLimits > ,
2089
2082
) -> Result < Option < ProcessingExtractedMetrics > , ProcessingError > {
2090
- #[ allow( unused_mut) ]
2091
- let mut extracted_metrics = ProcessingExtractedMetrics :: new ( ) ;
2083
+ self . enforce_quotas (
2084
+ managed_envelope,
2085
+ Annotated :: empty ( ) ,
2086
+ & mut ProcessingExtractedMetrics :: new ( ) ,
2087
+ project_info,
2088
+ rate_limits,
2089
+ )
2090
+ . await ?;
2092
2091
2093
2092
if_processing ! ( self . inner. config, {
2094
- self . enforce_quotas(
2095
- managed_envelope,
2096
- Annotated :: empty( ) ,
2097
- & mut extracted_metrics,
2098
- project_info,
2099
- rate_limits,
2100
- )
2101
- . await ?;
2102
2093
self . normalize_checkins( managed_envelope, project_id) ;
2103
2094
} ) ;
2104
2095
2105
- Ok ( Some ( extracted_metrics ) )
2096
+ Ok ( None )
2106
2097
}
2107
2098
2108
2099
/// Process logs
@@ -2122,17 +2113,20 @@ impl EnvelopeProcessorService {
2122
2113
project_info. clone ( ) ,
2123
2114
& self . inner . global_config . current ( ) ,
2124
2115
) ;
2116
+
2117
+ self . enforce_quotas (
2118
+ managed_envelope,
2119
+ Annotated :: empty ( ) ,
2120
+ & mut extracted_metrics,
2121
+ project_info. clone ( ) ,
2122
+ rate_limits,
2123
+ )
2124
+ . await ?;
2125
+
2125
2126
if_processing ! ( self . inner. config, {
2126
- self . enforce_quotas(
2127
- managed_envelope,
2128
- Annotated :: empty( ) ,
2129
- & mut extracted_metrics,
2130
- project_info. clone( ) ,
2131
- rate_limits,
2132
- )
2133
- . await ?;
2134
2127
ourlog:: process( managed_envelope, project_info. clone( ) ) ;
2135
2128
} ) ;
2129
+
2136
2130
Ok ( Some ( extracted_metrics) )
2137
2131
}
2138
2132
@@ -2176,17 +2170,17 @@ impl EnvelopeProcessorService {
2176
2170
& reservoir,
2177
2171
)
2178
2172
. await ;
2179
-
2180
- self . enforce_quotas(
2181
- managed_envelope,
2182
- Annotated :: empty( ) ,
2183
- & mut extracted_metrics,
2184
- project_info,
2185
- rate_limits,
2186
- )
2187
- . await ?;
2188
2173
} ) ;
2189
2174
2175
+ self . enforce_quotas (
2176
+ managed_envelope,
2177
+ Annotated :: empty ( ) ,
2178
+ & mut extracted_metrics,
2179
+ project_info,
2180
+ rate_limits,
2181
+ )
2182
+ . await ?;
2183
+
2190
2184
Ok ( Some ( extracted_metrics) )
2191
2185
}
2192
2186
0 commit comments