Skip to content

Commit 83384de

Browse files
committed
match patterns
1 parent 2a7e914 commit 83384de

File tree

4 files changed

+26
-21
lines changed

4 files changed

+26
-21
lines changed

bin/router/src/lib.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::{
1919
},
2020
jwt::JwtAuthRuntime,
2121
logger::configure_logging,
22-
pipeline::{graphql_request_handler, usage_reporting::create_hive_user_agent},
22+
pipeline::{graphql_request_handler, usage_reporting::init_hive_user_agent},
2323
};
2424

2525
pub use crate::{schema_state::SchemaState, shared_state::RouterSharedState};
@@ -111,26 +111,22 @@ pub async fn configure_app_from_config(
111111
false => None,
112112
};
113113

114-
let usage_agent = if router_config.usage_reporting.enabled {
115-
Some(Arc::new(create_hive_user_agent(
114+
let hive_usage_agent = match router_config.usage_reporting.enabled {
115+
true => Some(init_hive_user_agent(
116+
bg_tasks_manager,
116117
&router_config.usage_reporting,
117-
)))
118-
} else {
119-
None
118+
)),
119+
false => None,
120120
};
121121

122-
if let Some(usage_agent) = &usage_agent {
123-
bg_tasks_manager.register_task(usage_agent.clone());
124-
}
125-
126122
let router_config_arc = Arc::new(router_config);
127123
let schema_state =
128124
SchemaState::new_from_config(bg_tasks_manager, router_config_arc.clone()).await?;
129125
let schema_state_arc = Arc::new(schema_state);
130126
let shared_state = Arc::new(RouterSharedState::new(
131127
router_config_arc,
132128
jwt_runtime,
133-
usage_agent,
129+
hive_usage_agent,
134130
)?);
135131

136132
Ok((shared_state, schema_state_arc))

bin/router/src/pipeline/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,13 +193,13 @@ pub async fn execute_pipeline(
193193
.await?;
194194

195195
if shared_state.router_config.usage_reporting.enabled {
196-
if let Some(usage_agent) = &shared_state.hive_usage_agent {
196+
if let Some(hive_usage_agent) = &shared_state.hive_usage_agent {
197197
usage_reporting::collect_usage_report(
198198
supergraph.supergraph_schema.clone(),
199199
start.elapsed(),
200200
req,
201201
&client_request_details,
202-
usage_agent,
202+
hive_usage_agent,
203203
&shared_state.router_config.usage_reporting,
204204
&execution_result,
205205
);

bin/router/src/pipeline/usage_reporting.rs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,17 @@ use ntex::web::HttpRequest;
1414
use rand::Rng;
1515
use tokio_util::sync::CancellationToken;
1616

17-
use crate::{background_tasks::BackgroundTask, consts::ROUTER_VERSION};
17+
use crate::{
18+
background_tasks::{BackgroundTask, BackgroundTasksManager},
19+
consts::ROUTER_VERSION,
20+
};
1821

19-
pub fn create_hive_user_agent(usage_config: &UsageReportingConfig) -> UsageAgent {
22+
pub fn init_hive_user_agent(
23+
bg_tasks_manager: &mut BackgroundTasksManager,
24+
usage_config: &UsageReportingConfig,
25+
) -> Arc<UsageAgent> {
2026
let user_agent = format!("hive-router/{}", ROUTER_VERSION);
21-
hive_console_sdk::agent::UsageAgent::new(
27+
let hive_user_agent = hive_console_sdk::agent::UsageAgent::new(
2228
usage_config.access_token.clone(),
2329
usage_config.endpoint.clone(),
2430
usage_config.target_id.clone(),
@@ -28,7 +34,10 @@ pub fn create_hive_user_agent(usage_config: &UsageReportingConfig) -> UsageAgent
2834
usage_config.accept_invalid_certs,
2935
usage_config.flush_interval,
3036
user_agent,
31-
)
37+
);
38+
let hive_user_agent_arc = Arc::new(hive_user_agent);
39+
bg_tasks_manager.register_task(hive_user_agent_arc.clone());
40+
hive_user_agent_arc
3241
}
3342

3443
#[inline]
@@ -37,7 +46,7 @@ pub fn collect_usage_report(
3746
duration: Duration,
3847
req: &HttpRequest,
3948
client_request_details: &ClientRequestDetails,
40-
usage_agent: &UsageAgent,
49+
hive_usage_agent: &UsageAgent,
4150
usage_config: &UsageReportingConfig,
4251
execution_result: &PlanExecutionOutput,
4352
) {
@@ -75,7 +84,7 @@ pub fn collect_usage_report(
7584
persisted_document_hash: None,
7685
};
7786

78-
if let Err(err) = usage_agent.add_report(execution_report) {
87+
if let Err(err) = hive_usage_agent.add_report(execution_report) {
7988
tracing::error!("Failed to send usage report: {}", err);
8089
}
8190
}

bin/router/src/shared_state.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ impl RouterSharedState {
2626
pub fn new(
2727
router_config: Arc<HiveRouterConfig>,
2828
jwt_auth_runtime: Option<JwtAuthRuntime>,
29-
usage_agent: Option<Arc<UsageAgent>>,
29+
hive_usage_agent: Option<Arc<UsageAgent>>,
3030
) -> Result<Self, SharedStateError> {
3131
Ok(Self {
3232
validation_plan: graphql_tools::validation::rules::default_rules_validation_plan(),
@@ -39,7 +39,7 @@ impl RouterSharedState {
3939
)
4040
.map_err(Box::new)?,
4141
jwt_auth_runtime,
42-
hive_usage_agent: usage_agent,
42+
hive_usage_agent,
4343
})
4444
}
4545
}

0 commit comments

Comments
 (0)