Pulse id diff in events endpoint via transform chain

This commit is contained in:
Dominik Werder
2023-04-19 11:30:18 +02:00
parent abd9cfdf65
commit a94d68aa49
24 changed files with 421 additions and 200 deletions

View File

@@ -44,6 +44,8 @@ pub struct PlainEventsQuery {
do_test_main_error: bool,
#[serde(default, skip_serializing_if = "is_false")]
do_test_stream_error: bool,
#[serde(default, skip_serializing_if = "is_false")]
test_do_wasm: bool,
}
impl PlainEventsQuery {
@@ -63,6 +65,7 @@ impl PlainEventsQuery {
buf_len_disk_io: None,
do_test_main_error: false,
do_test_stream_error: false,
test_do_wasm: false,
}
}
@@ -104,6 +107,10 @@ impl PlainEventsQuery {
&self.event_delay
}
pub fn merger_out_len_max(&self) -> usize {
1024
}
pub fn do_test_main_error(&self) -> bool {
self.do_test_main_error
}
@@ -112,6 +119,10 @@ impl PlainEventsQuery {
self.do_test_stream_error
}
pub fn test_do_wasm(&self) -> bool {
self.test_do_wasm
}
pub fn set_series_id(&mut self, series: u64) {
self.channel.series = Some(series);
}
@@ -134,6 +145,11 @@ impl PlainEventsQuery {
self
}
pub fn for_pulse_id_diff(mut self) -> Self {
self.transform = TransformQuery::for_pulse_id_diff();
self
}
pub fn is_event_blobs(&self) -> bool {
self.transform.is_event_blobs()
}
@@ -200,6 +216,11 @@ impl FromUrl for PlainEventsQuery {
.map_or("false", |k| k)
.parse()
.map_err(|e| Error::with_public_msg(format!("can not parse doTestStreamError: {}", e)))?,
test_do_wasm: pairs
.get("testDoWasm")
.map(|x| x.parse::<bool>().ok())
.unwrap_or(None)
.unwrap_or(false),
};
Ok(ret)
}
@@ -241,5 +262,8 @@ impl AppendToUrl for PlainEventsQuery {
if self.do_test_stream_error {
g.append_pair("doTestStreamError", "true");
}
if self.test_do_wasm {
g.append_pair("testDoWasm", "true");
}
}
}

View File

@@ -86,6 +86,14 @@ impl TransformQuery {
}
}
pub fn for_pulse_id_diff() -> Self {
Self {
event: EventTransformQuery::PulseIdDiff,
// TODO probably we want unweighted binning here.
time_binning: TimeBinningTransformQuery::TimeWeighted,
}
}
pub fn is_event_blobs(&self) -> bool {
match &self.event {
EventTransformQuery::EventBlobsVerbatim => true,