scouter_dataframe/
error.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum StorageError {
5 #[error(transparent)]
6 DecodeError(#[from] base64::DecodeError),
7
8 #[error(transparent)]
9 UtilError(#[from] scouter_types::error::UtilError),
10
11 #[error(transparent)]
12 ObjectStorageError(#[from] object_store::Error),
13
14 #[error(transparent)]
15 ParseError(#[from] url::ParseError),
16
17 #[error(transparent)]
18 Utf8Error(#[from] std::string::FromUtf8Error),
19}
20
21#[derive(Error, Debug)]
22pub enum DataFrameError {
23 #[error("Failed to read batch: {0}")]
24 ReadBatchError(String),
25
26 #[error("Failed to create batch: {0}")]
27 CreateBatchError(String),
28
29 #[error(transparent)]
30 StorageError(#[from] StorageError),
31
32 #[error("Failed to add year column")]
33 AddYearColumnError(#[source] datafusion::error::DataFusionError),
34
35 #[error("Failed to add month column")]
36 AddMonthColumnError(#[source] datafusion::error::DataFusionError),
37
38 #[error("Failed to add day column")]
39 AddDayColumnError(#[source] datafusion::error::DataFusionError),
40
41 #[error("Failed to add hour column")]
42 AddHourColumnError(#[source] datafusion::error::DataFusionError),
43
44 #[error("Failed to write to parquet")]
45 WriteParquetError(#[source] datafusion::error::DataFusionError),
46
47 #[error("Failed to infer schema")]
48 InferSchemaError(#[source] datafusion::error::DataFusionError),
49
50 #[error("Failed to create listing table")]
51 CreateListingTableError(#[source] datafusion::error::DataFusionError),
52
53 #[error("Failed to register table")]
54 RegisterTableError(#[source] datafusion::error::DataFusionError),
55
56 #[error("Downcast error: {0}")]
57 DowncastError(&'static str),
58
59 #[error("Failed to get column: {0}")]
60 GetColumnError(&'static str),
61
62 #[error("Missing field: {0}")]
63 MissingFieldError(&'static str),
64
65 #[error(transparent)]
66 DatafusionError(#[from] datafusion::error::DataFusionError),
67
68 #[error(transparent)]
69 RecordError(#[from] scouter_types::error::RecordError),
70
71 #[error(transparent)]
72 ArrowError(#[from] arrow::error::ArrowError),
73
74 #[error("Invalid record type provided")]
75 InvalidRecordTypeError,
76}