mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-03 05:17:02 +08:00
fix(analytics): using HashSet to represent the returned metrics (#5179)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetrics, SdkEventMetricsBucketIdentifier,
|
||||
@ -29,7 +31,7 @@ use payment_methods_call_count::PaymentMethodsCallCount;
|
||||
use sdk_initiated_count::SdkInitiatedCount;
|
||||
use sdk_rendered_count::SdkRenderedCount;
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, serde::Deserialize)]
|
||||
#[derive(Debug, PartialEq, Eq, serde::Deserialize, Hash)]
|
||||
pub struct SdkEventMetricRow {
|
||||
pub total: Option<bigdecimal::BigDecimal>,
|
||||
pub count: Option<i64>,
|
||||
@ -57,7 +59,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>>;
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>>;
|
||||
}
|
||||
|
||||
#[async_trait::async_trait]
|
||||
@ -78,7 +80,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
match self {
|
||||
Self::PaymentAttempts => {
|
||||
PaymentAttempts
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -116,7 +118,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -116,7 +118,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -111,7 +113,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -111,7 +113,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -111,7 +113,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -119,7 +121,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -111,7 +113,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use api_models::analytics::{
|
||||
sdk_events::{
|
||||
SdkEventDimensions, SdkEventFilters, SdkEventMetricsBucketIdentifier, SdkEventNames,
|
||||
@ -35,7 +37,7 @@ where
|
||||
granularity: &Option<Granularity>,
|
||||
time_range: &TimeRange,
|
||||
pool: &T,
|
||||
) -> MetricsResult<Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
) -> MetricsResult<HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>> {
|
||||
let mut query_builder: QueryBuilder<T> =
|
||||
QueryBuilder::new(AnalyticsCollection::SdkEventsAnalytics);
|
||||
let dimensions = dimensions.to_vec();
|
||||
@ -111,7 +113,7 @@ where
|
||||
))
|
||||
})
|
||||
.collect::<error_stack::Result<
|
||||
Vec<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
HashSet<(SdkEventMetricsBucketIdentifier, SdkEventMetricRow)>,
|
||||
crate::query::PostProcessingError,
|
||||
>>()
|
||||
.change_context(MetricsError::PostProcessingFailure)
|
||||
|
||||
Reference in New Issue
Block a user