chore: add loadtest observability setup

This commit is contained in:
kdletters
2026-05-16 22:44:30 +08:00
parent 7f16e88e57
commit 0305b79440
55 changed files with 2867 additions and 1622 deletions

View File

@@ -8,7 +8,7 @@ impl SpacetimeClient {
) -> Result<AiTaskMutationRecord, SpacetimeClientError> {
let procedure_input = input.into();
self.call_after_connect(move |connection, sender| {
self.call_after_connect("create_ai_task_and_return", move |connection, sender| {
connection.procedures().create_ai_task_and_return_then(
procedure_input,
move |_, result| {
@@ -28,7 +28,7 @@ impl SpacetimeClient {
) -> Result<(), SpacetimeClientError> {
let reducer_input = input.into();
self.call_reducer_after_connect(move |connection, sender| {
self.call_reducer_after_connect("start_ai_task", move |connection, sender| {
let callback_sender = sender.clone();
if let Err(error) =
connection
@@ -52,7 +52,7 @@ impl SpacetimeClient {
) -> Result<(), SpacetimeClientError> {
let reducer_input = input.into();
self.call_reducer_after_connect(move |connection, sender| {
self.call_reducer_after_connect("start_ai_task_stage", move |connection, sender| {
let callback_sender = sender.clone();
if let Err(error) =
connection
@@ -76,16 +76,19 @@ impl SpacetimeClient {
) -> Result<AiTaskMutationRecord, SpacetimeClientError> {
let procedure_input = input.into();
self.call_after_connect(move |connection, sender| {
connection
.procedures()
.append_ai_text_chunk_and_return_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_ai_task_procedure_result);
send_once(&sender, mapped);
});
})
self.call_after_connect(
"append_ai_text_chunk_and_return",
move |connection, sender| {
connection
.procedures()
.append_ai_text_chunk_and_return_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_ai_task_procedure_result);
send_once(&sender, mapped);
});
},
)
.await
}
@@ -95,7 +98,7 @@ impl SpacetimeClient {
) -> Result<AiTaskMutationRecord, SpacetimeClientError> {
let procedure_input = input.into();
self.call_after_connect(move |connection, sender| {
self.call_after_connect("complete_ai_stage_and_return", move |connection, sender| {
connection.procedures().complete_ai_stage_and_return_then(
procedure_input,
move |_, result| {
@@ -115,16 +118,22 @@ impl SpacetimeClient {
) -> Result<AiTaskMutationRecord, SpacetimeClientError> {
let procedure_input = input.into();
self.call_after_connect(move |connection, sender| {
connection
.procedures()
.attach_ai_result_reference_and_return_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_ai_task_procedure_result);
send_once(&sender, mapped);
});
})
self.call_after_connect(
"attach_ai_result_reference_and_return",
move |connection, sender| {
connection
.procedures()
.attach_ai_result_reference_and_return_then(
procedure_input,
move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_ai_task_procedure_result);
send_once(&sender, mapped);
},
);
},
)
.await
}
@@ -134,7 +143,7 @@ impl SpacetimeClient {
) -> Result<AiTaskMutationRecord, SpacetimeClientError> {
let procedure_input = input.into();
self.call_after_connect(move |connection, sender| {
self.call_after_connect("complete_ai_task_and_return", move |connection, sender| {
connection.procedures().complete_ai_task_and_return_then(
procedure_input,
move |_, result| {
@@ -154,7 +163,7 @@ impl SpacetimeClient {
) -> Result<AiTaskMutationRecord, SpacetimeClientError> {
let procedure_input = input.into();
self.call_after_connect(move |connection, sender| {
self.call_after_connect("fail_ai_task_and_return", move |connection, sender| {
connection.procedures().fail_ai_task_and_return_then(
procedure_input,
move |_, result| {
@@ -174,7 +183,7 @@ impl SpacetimeClient {
) -> Result<AiTaskMutationRecord, SpacetimeClientError> {
let procedure_input = input.into();
self.call_after_connect(move |connection, sender| {
self.call_after_connect("cancel_ai_task_and_return", move |connection, sender| {
connection.procedures().cancel_ai_task_and_return_then(
procedure_input,
move |_, result| {