Fixed History Logger #58
Generated
+1
-1
@@ -26,7 +26,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "airlock_libs"
|
name = "airlock_libs"
|
||||||
version = "7.3.0"
|
version = "7.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"crossbeam",
|
"crossbeam",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "airlock_libs"
|
name = "airlock_libs"
|
||||||
version = "7.3.0"
|
version = "7.4.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "airlock_libs"
|
name = "airlock_libs"
|
||||||
version = "7.3.0"
|
version = "7.4.0"
|
||||||
description = "Airlock Digital API Wrapper"
|
description = "Airlock Digital API Wrapper"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = { text = "AGPL-3.0-only" }
|
license = { text = "AGPL-3.0-only" }
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
use crate::modules::datatypes::*;
|
use crate::modules::datatypes::*;
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
|
use opentelemetry::trace::SpanContext;
|
||||||
|
|
||||||
#[pyfunction]
|
#[pyfunction]
|
||||||
pub fn pull_policy_exec_histories(
|
pub fn pull_policy_exec_histories(
|
||||||
@@ -106,9 +107,10 @@ pub fn pull_policy_exec_histories(
|
|||||||
});
|
});
|
||||||
let cutoff: chrono::NaiveDateTime =
|
let cutoff: chrono::NaiveDateTime =
|
||||||
Local::now().naive_local() - chrono::Duration::days(days);
|
Local::now().naive_local() - chrono::Duration::days(days);
|
||||||
let (tx, rx) = unbounded::<(Context, Vec<Group>)>();
|
let (tx, rx) = unbounded::<(SpanContext, Vec<Group>)>();
|
||||||
let pb_clone = progress_bar.clone();
|
let pb_clone = progress_bar.clone();
|
||||||
thread::spawn(move || {
|
thread::spawn(move || {
|
||||||
|
let tracer = global::tracer("loxide");
|
||||||
let mut seen: HashMap<(String, String, String), Group> = if writeable_filepath.exists()
|
let mut seen: HashMap<(String, String, String), Group> = if writeable_filepath.exists()
|
||||||
{
|
{
|
||||||
let contents: String = fs::read_to_string(&writeable_filepath).unwrap_or_default();
|
let contents: String = fs::read_to_string(&writeable_filepath).unwrap_or_default();
|
||||||
@@ -137,7 +139,15 @@ pub fn pull_policy_exec_histories(
|
|||||||
} else {
|
} else {
|
||||||
HashMap::new()
|
HashMap::new()
|
||||||
};
|
};
|
||||||
while let Ok((cx, parsed_responses)) = rx.recv() {
|
while let Ok((parent_spancontext, parsed_responses)) = rx.recv() {
|
||||||
|
let parent_ctx = Context::new().with_remote_span_context(parent_spancontext);
|
||||||
|
let span = tracer.build_with_context(
|
||||||
|
tracer
|
||||||
|
.span_builder("Deduplicate and Write")
|
||||||
|
.with_kind(trace::SpanKind::Consumer),
|
||||||
|
&parent_ctx,
|
||||||
|
);
|
||||||
|
let cx = Context::current_with_span(span);
|
||||||
cx.span().add_event(
|
cx.span().add_event(
|
||||||
"Received Data from Producer",
|
"Received Data from Producer",
|
||||||
vec![KeyValue::new(
|
vec![KeyValue::new(
|
||||||
@@ -249,7 +259,7 @@ pub fn pull_policy_exec_histories(
|
|||||||
if parsed_responses.is_empty() {
|
if parsed_responses.is_empty() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
match tx.send((cx.clone(), parsed_responses.clone())) {
|
match tx.send((cx.span().span_context().clone(), parsed_responses.clone())) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
cx.span().add_event(
|
cx.span().add_event(
|
||||||
|
|||||||
+1
-1
@@ -23,4 +23,4 @@ pyperclip==1.11.0
|
|||||||
|
|
||||||
# Custom/Private packages
|
# Custom/Private packages
|
||||||
--extra-index-url https://git.racooncity.org/api/packages/brotoskyj/pypi/simple/
|
--extra-index-url https://git.racooncity.org/api/packages/brotoskyj/pypi/simple/
|
||||||
airlock_libs==7.3.0
|
airlock_libs==7.4.0
|
||||||
Reference in New Issue
Block a user