Skip to content

Commit c10d072

Browse files
Merge pull request #148 from JakeRoggenbuck/env-logging
Add logging
2 parents 75e1e93 + d5776b1 commit c10d072

File tree

5 files changed

+124
-4
lines changed

5 files changed

+124
-4
lines changed

Cargo.lock

Lines changed: 101 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ pyo3 = "0.22.0"
1313
serde = { version = "1.0.218", features = ["derive"] }
1414
bincode = "1.3.3"
1515
serde_json = "1.0.139"
16+
env_logger = "0.11.6"
17+
log = "0.4.26"
1618

1719
[dev-dependencies]
1820
criterion = { version = "0.4", features = ["html_reports"] }

python/benchmarks/scaling_tester.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from lstore.query import Query
33
import timeit
44

5-
counts = [10, 100, 1000, 10_000, 100_000, 1_000_000, 10_000_000]
5+
counts = [10, 100, 1000, 10_000, 100_000, 1_000_000]
66

77

88
def run_inserts(amount: int):

src/database.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use super::index::RIndex;
44
use super::pagerange::PageRange;
55
use super::table::{PageDirectory, RTable, RTableMetadata, StatePersistence};
66
use crate::table::RTableHandle;
7+
use log::info;
78
use pyo3::prelude::*;
89
use serde::{Deserialize, Serialize};
910
use std::collections::HashMap;
@@ -30,10 +31,24 @@ pub struct RDatabase {
3031
pub buffer_pool: BufferPool,
3132
}
3233

34+
/// Setup env logging
35+
///
36+
/// To use the logger, import the debug, error, or info macro from the log crate
37+
///
38+
/// Then you can add the macros to code like debug!("Start database!");
39+
/// When you go to run the code, you can set the env var RUST_LOG=debug
40+
/// Docs: https://docs.rs/env_logger/latest/env_logger/
41+
#[inline]
42+
fn init_logging() {
43+
let _ = env_logger::try_init();
44+
}
45+
3346
#[pymethods]
3447
impl RDatabase {
3548
#[new]
3649
pub fn new() -> Self {
50+
init_logging();
51+
3752
RDatabase {
3853
tables: vec![],
3954
tables_hashmap: HashMap::new(),
@@ -74,6 +89,8 @@ impl RDatabase {
7489
self.tables_hashmap.insert(table.name.clone(), index);
7590
index += 1;
7691
}
92+
93+
info!("Database opened!");
7794
}
7895

7996
fn close(&self) {
@@ -107,6 +124,8 @@ impl RDatabase {
107124
// nothing.
108125
}
109126
}
127+
128+
info!("Database closed!");
110129
}
111130

112131
pub fn create_table(

src/filewriter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ impl<T: Serialize + for<'de> Deserialize<'de>> WriterStrategy<T> for BinaryFileW
2121
#[inline(always)]
2222
fn read_file(&self, path: &str) -> T {
2323
let file = BufReader::new(File::open(path).expect("Should open file."));
24-
2524
let object: T = bincode::deserialize_from(file).expect("Should deserialize.");
2625
return object;
2726
}
@@ -49,6 +48,7 @@ impl<T: Serialize + for<'de> Deserialize<'de>> WriterStrategy<T> for JSONFileWri
4948
fn read_file(&self, path: &str) -> T {
5049
let json = read_to_string(path).expect("Should open file.");
5150
let object: T = serde_json::from_str(&json).expect("Should deserialize.");
51+
5252
return object;
5353
}
5454
}

0 commit comments

Comments
 (0)