Skip to content

Commit 381e52e

Browse files
dataset tags and labels in home api response
1 parent dc37227 commit 381e52e

2 files changed

Lines changed: 23 additions & 2 deletions

File tree

src/prism/home/mod.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,16 @@ async fn get_stream_metadata(stream: String, tenant_id: &Option<String>) -> Stre
237237
let ingested = stream_jsons
238238
.iter()
239239
.any(|s| s.stats.current_stats.events > 0);
240-
let dataset_tags = stream_jsons[0].dataset_tags.clone();
241-
let dataset_labels = stream_jsons[0].dataset_labels.clone();
240+
let dataset_tags = stream_jsons
241+
.iter()
242+
.flat_map(|s| s.dataset_tags.clone())
243+
.unique_by(|t| *t)
244+
.collect_vec();
245+
let dataset_labels = stream_jsons
246+
.iter()
247+
.flat_map(|s| s.dataset_labels.clone())
248+
.unique_by(|l| l.clone())
249+
.collect_vec();
242250

243251
Ok(StreamMetadata {
244252
stream,

src/storage/object_storage.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ use async_trait::async_trait;
2121
use bytes::Bytes;
2222
use chrono::{DateTime, Utc};
2323
use datafusion::{datasource::listing::ListingTableUrl, execution::runtime_env::RuntimeEnvBuilder};
24+
use itertools::Itertools;
2425
use object_store::ListResult;
2526
use object_store::ObjectMeta;
2627
use object_store::buffered::BufReader;
@@ -754,6 +755,18 @@ pub trait ObjectStorage: Debug + Send + Sync + 'static {
754755
stats: FullStats::default(),
755756
snapshot: Snapshot::default(),
756757
log_source: merged_log_sources,
758+
dataset_tags: stream_metadata_obs
759+
.iter()
760+
.filter_map(|bytes| serde_json::from_slice::<ObjectStoreFormat>(bytes).ok())
761+
.flat_map(|meta| meta.dataset_tags)
762+
.unique()
763+
.collect(),
764+
dataset_labels: stream_metadata_obs
765+
.iter()
766+
.filter_map(|bytes| serde_json::from_slice::<ObjectStoreFormat>(bytes).ok())
767+
.flat_map(|meta| meta.dataset_labels)
768+
.unique()
769+
.collect(),
757770
..stream_ob_metadata
758771
};
759772

0 commit comments

Comments
 (0)