Radish alpha
r
rad:zwTxygwuz5LDGBq255RA2CbNGrz8
Radicle CI broker
Radicle
Git
feat: improve logging in queueproc helper threads
Lars Wirzenius committed 11 months ago
commit b7dd71b27a8404fed6d999fcb1d38aa039c58b30
parent 9408939
2 files changed +25 -2
modified src/logger.rs
@@ -159,6 +159,8 @@ enum Id {
    QueueProcRemoveEvent,
    QueueProcStart,
    QueueProcTrigger,
+
    QueueProcProcessorResult,
+
    QueueProcWorkerResult,

    TimeoutLineReceiverCheckChild,
    TimeoutLineReceiverChildDisconnected,
@@ -513,6 +515,24 @@ pub fn queueproc_processing_event(event: &CiEvent) {
    );
}

+
pub fn queueproc_worker_thread_result(result: Result<(), &QueueError>) {
+
    debug!(
+
        msg_id = ?Id::QueueProcWorkerResult,
+
        kind = %Kind::GotEvent,
+
        ?result,
+
        "worker thread result"
+
    );
+
}
+

+
pub fn queueproc_processor_thread_result(result: Result<(), &QueueError>) {
+
    debug!(
+
        msg_id = ?Id::QueueProcProcessorResult,
+
        kind = %Kind::GotEvent,
+
        ?result,
+
        "processor thread result"
+
    );
+
}
+

pub fn queueproc_trigger(result: &Result<Request, QueueError>) {
    info!(
        msg_id = ?Id::QueueProcTrigger,
modified src/queueproc.rs
@@ -172,7 +172,8 @@ impl QueueProcessor {
            // Wait for worker threads to terminate. This closes all
            // sender ends for results channel.
            for proc in self.processors {
-
                proc.join().ok();
+
                let result = proc.join();
+
                logger::queueproc_processor_thread_result(result.as_ref().map(|_| ()));
            }

            // Wait for results processing thread to terminate.
@@ -364,7 +365,9 @@ impl EventProcessor {
    }

    fn process_picked_event(&self, picked: Picked) {
-
        if let Some(adapters) = self.matching_adapters(picked.qe.event()).ok().flatten() {
+
        let res = self.matching_adapters(picked.qe.event());
+
        logger::queueproc_worker_thread_result(res.as_ref().map(|_| ()));
+
        if let Ok(Some(adapters)) = res {
            for adapter in adapters {
                self.run_adapter(&picked.qe, &adapter).ok();
            }