Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
3dc0310
created table for metrics and collected them in database
Ankitkumar3535 Jun 18, 2026
6e94438
added CPU metrics collections
Ankitkumar3535 Jun 18, 2026
9d22670
cmnts
Ankitkumar3535 Jun 18, 2026
d1623bd
added more metrics
NikhByte Jun 18, 2026
9524c33
resolve all issue related to exception handling, disk rate....
Ankitkumar3535 Jun 18, 2026
000d7c5
cmnt
Ankitkumar3535 Jun 18, 2026
2a79a01
Started working in layer2
abhishekreddy22 Jun 19, 2026
c25737f
minor changes made
abhishekreddy22 Jun 19, 2026
da7471b
Added layer 3 metadata collection
khyati1433 Jun 20, 2026
60c4a55
fixs some error
Ankitkumar3535 Jun 21, 2026
48ec208
resolve: collector is not pass in process_top_processes fxn
Ankitkumar3535 Jun 21, 2026
1e93b3a
defined DiagnosticsCollector class along with trigger function
mitsmania Jun 21, 2026
e8d1131
Updated README with architecture diagram
NikhByte Jun 21, 2026
f2160d2
added network metrics
Ankitkumar3535 Jun 21, 2026
93cde3b
using socket lib for network protocols and also enhance path for db file
Ankitkumar3535 Jun 22, 2026
bb044f7
fix: resolve ModuleNotFoundError for utils by appending parent dir to…
NikhByte Jun 22, 2026
1537096
editing code
Jun 23, 2026
8218fe5
file structure created for doctorOS
abhishekreddy22 Jun 27, 2026
e379ab3
readme created
abhishekreddy22 Jun 27, 2026
6ec83f8
fixed base-line 0 error
NikhByte Jun 27, 2026
673c775
added process names with individual cpu and memory usage
NikhByte Jun 27, 2026
c98b234
Add DoctorOS documentation
Jun 28, 2026
357272e
Merge branch 'staging' into layer_02
abhishekreddy22 Jun 29, 2026
2ee8a6d
Layer 02 merged with staging
abhishekreddy22 Jun 29, 2026
809bd1c
documentation created
parshvigarg3 Jun 29, 2026
a33ad25
Merge pull request #3 from devlup-labs/staging
abhishekreddy22 Jun 29, 2026
a6238b2
added required files
mitsmania Jun 29, 2026
8a68edd
updated Readme.md
ankitkumar25-rk Jun 29, 2026
b49381c
updated path of readme file for blackbox
ankitkumar25-rk Jun 29, 2026
37f1abd
updates in objectives
parshvigarg3 Jun 29, 2026
659a17e
remove .DS_Store
parshvigarg3 Jun 30, 2026
57bfcc0
editions
parshvigarg3 Jun 30, 2026
c4f7003
update
parshvigarg3 Jun 30, 2026
0471550
Update README
parshvigarg3 Jun 30, 2026
56ac5ad
made changes to layer2 collector, db.py, test.py
abhishekreddy22 Jun 30, 2026
be8fcdf
Merge remote-tracking branch 'origin/layer_01' into module/Blackbox
ankitkumar25-rk Jun 30, 2026
61e8e57
Updated README.md for doctor-os
abhishekreddy22 Jun 30, 2026
d2489b5
Merge pull request #4 from devlup-labs/module/DoctorOS
abhishekreddy22 Jun 30, 2026
45f7c34
feat: setup continuous layer 1 metrics collection and db storage
NikhByte Jun 30, 2026
a2ef2a8
Merge remote-tracking branch 'origin/layer_02' into module/Blackbox
ankitkumar25-rk Jun 30, 2026
3457375
Merge pull request #5 from devlup-labs/layer_01
NikhByte Jun 30, 2026
b6a396e
Merge remote-tracking branch 'origin/layer_03' into module/Blackbox
ankitkumar25-rk Jun 30, 2026
f2a59e8
Merge remote-tracking branch 'origin/layer_04' into module/Blackbox
ankitkumar25-rk Jun 30, 2026
b59efbd
fix: bugs and also remove hardcoded path of .db file , write_layer1 f…
ankitkumar25-rk Jul 1, 2026
76fc247
removed .db file
ankitkumar25-rk Jul 1, 2026
6325ccd
chore: stop tracking telemetry database file
ankitkumar25-rk Jul 1, 2026
45af914
add const for blackbox module and also fix the folder strct
ankitkumar25-rk Jul 2, 2026
25375dc
added blackbox constants
mitsmania Jul 3, 2026
b1706b8
defined necessary functions for recorder
mitsmania Jul 3, 2026
87fc520
added fxns to recorder.py & heartbeat.py but thinking about gap..
ankitkumar25-rk Jul 3, 2026
1a34dca
updated crash-detection logic + missing memory schema columns
ankitkumar25-rk Jul 4, 2026
48d1840
added missing functions and arch diag for doc
ankitkumar25-rk Jul 5, 2026
bded119
resolved conflicts
ankitkumar25-rk Jul 5, 2026
5050a31
resolved
ankitkumar25-rk Jul 5, 2026
57ea156
Merge branch 'main' into module/Blackbox
ankitkumar25-rk Jul 5, 2026
7bf3b56
merge: resolve conflicts and integrate thread-safe blackbox recorder
ankitkumar25-rk Jul 6, 2026
a4e0ef9
Merge branch 'module/Blackbox' of https://github.com/devlup-labs/Cogn…
ankitkumar25-rk Jul 6, 2026
5aa0315
updated README diagram and remove os_doctor changes from module/Black…
ankitkumar25-rk Jul 7, 2026
5582bf2
defined a function to get feature vector
mitsmania Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,8 @@ data/traces/*
# Keep data directories present in git if marker files are added.
!data/models/.gitkeep
!data/traces/.gitkeep

# Ignore SQLite database files
*.db
*.sqlite3
*.sqlite
159 changes: 69 additions & 90 deletions README.md

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to do unnecessary changes in this file. Change the architectural diagram.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Original file line number Diff line number Diff line change
Expand Up @@ -14,48 +14,27 @@ CogniOS bridges this gap by collecting real-time system telemetry, analyzing wor

The project is designed as both:

* A practical system observability platform for Linux
* A research framework for experimenting with AI-assisted operating system scheduling
- A practical system observability platform for Linux
- A research framework for experimenting with AI-assisted operating system scheduling

---

## Key Features

* 📊 Real-time Linux system telemetry collection
* 🩺 Intelligent anomaly detection for performance degradation
* 🎯 AI-based workload classification and optimization
* 📦 Rolling telemetry recording for crash replay
* 🔬 Scheduling algorithm benchmarking and research
* 📈 Interactive Streamlit dashboard
* 🗄️ Centralized SQLite telemetry database
* 🧩 Modular architecture for independent development and testing
- 📊 Real-time Linux system telemetry collection
- 🩺 Intelligent anomaly detection for performance degradation
- 🎯 AI-based workload classification and optimization
- 📦 Rolling telemetry recording for crash replay
- 🔬 Scheduling algorithm benchmarking and research
- 📈 Interactive Streamlit dashboard
- 🗄️ Centralized SQLite telemetry database
- 🧩 Modular architecture for independent development and testing

---

# Architecture

```
Linux System
Telemetry Collectors
(/proc, psutil, process APIs)
SQLite Database
┌───────────────┼────────────────┐
│ │ │
▼ ▼ ▼
OS Doctor FocusOS BlackBox
│ │ │
└───────────────┼────────────────┘
Research Engine
Streamlit Dashboard
```
![alt text](./assets/image.png)

---

Expand All @@ -67,10 +46,10 @@ OS Doctor continuously monitors the system for abnormal behavior using machine l

### Objective

* Detect abnormal CPU, memory and I/O behavior
* Explain possible reasons for system slowdowns
* Identify unusual workload patterns
* Provide interpretable diagnostics from live telemetry
- Detect abnormal CPU, memory and I/O behavior
- Explain possible reasons for system slowdowns
- Identify unusual workload patterns
- Provide interpretable diagnostics from live telemetry

---

Expand All @@ -80,10 +59,10 @@ FocusOS is responsible for intelligent workload classification and adaptive syst

### Objective

* Classify the current workload using machine learning
* Optimize process priorities
* Modify Linux scheduling parameters
* Improve overall system responsiveness
- Classify the current workload using machine learning
- Optimize process priorities
- Modify Linux scheduling parameters
- Improve overall system responsiveness

Future versions may also support dynamic CPU affinity optimization and workload-aware scheduling.

Expand All @@ -97,10 +76,10 @@ It continuously stores recent telemetry in a rolling buffer, allowing developers

### Objective

* Record recent system telemetry
* Preserve crash history
* Replay workload traces
* Assist in post-mortem debugging
- Record recent system telemetry
- Preserve crash history
- Replay workload traces
- Assist in post-mortem debugging

---

Expand All @@ -110,18 +89,18 @@ The Research Engine provides an experimentation platform for scheduling algorith

### Objective

* Compare classical scheduling algorithms
* Evaluate AI-based schedulers
* Replay collected workloads
* Benchmark scheduling performance
* Support reinforcement learning experiments
- Compare classical scheduling algorithms
- Evaluate AI-based schedulers
- Replay collected workloads
- Benchmark scheduling performance
- Support reinforcement learning experiments

Supported scheduling algorithms include:

* FCFS
* Shortest Job First
* Round Robin
* Priority Scheduling
- FCFS
- Shortest Job First
- Round Robin
- Priority Scheduling

Future versions may include reinforcement learning schedulers.

Expand All @@ -133,11 +112,11 @@ The Streamlit dashboard serves as the unified visualization layer of CogniOS.

### Objective

* Visualize system telemetry
* Display anomaly alerts
* Monitor workload classifications
* Compare scheduling results
* Provide a centralized monitoring interface
- Visualize system telemetry
- Display anomaly alerts
- Monitor workload classifications
- Compare scheduling results
- Provide a centralized monitoring interface

---

Expand All @@ -147,12 +126,12 @@ Collectors gather telemetry directly from Linux using lightweight system interfa

### Objective

* CPU monitoring
* Memory monitoring
* Disk monitoring
* Process monitoring
* Network statistics
* I/O statistics
- CPU monitoring
- Memory monitoring
- Disk monitoring
- Process monitoring
- Network statistics
- I/O statistics

These collectors act as the data source for every other module.

Expand All @@ -164,11 +143,11 @@ The data layer stores all telemetry generated by the collectors.

### Responsibilities

* Store real-time telemetry
* Maintain workload traces
* Persist crash recordings
* Provide data for ML training
* Support benchmarking experiments
- Store real-time telemetry
- Maintain workload traces
- Persist crash recordings
- Provide data for ML training
- Support benchmarking experiments

SQLite is used as the centralized storage backend.

Expand Down Expand Up @@ -252,39 +231,39 @@ Each major subsystem is designed as an independent module with its own documenta

Every module contains its own dedicated `README.md` describing:

* Module architecture
* Directory structure
* Components
* APIs
* Data flow
* Usage
* Future work
- Module architecture
- Directory structure
- Components
- APIs
- Data flow
- Usage
- Future work

---

# Roadmap

* Real-time Linux telemetry collection
* Intelligent anomaly detection
* AI-assisted workload optimization
* Crash replay and forensic analysis
* Scheduling benchmark suite
* Reinforcement learning scheduler
* GPU telemetry support
* Windows and macOS support
- Real-time Linux telemetry collection
- Intelligent anomaly detection
- AI-assisted workload optimization
- Crash replay and forensic analysis
- Scheduling benchmark suite
- Reinforcement learning scheduler
- GPU telemetry support
- Windows and macOS support

---

# Contributing

We welcome contributions from developers interested in:

* Operating Systems
* Machine Learning
* Systems Programming
* Linux Internals
* Performance Engineering
* Data Engineering
- Operating Systems
- Machine Learning
- Systems Programming
- Linux Internals
- Performance Engineering
- Data Engineering

Before contributing, please read the documentation for the module you wish to work on.

Expand Down
Binary file added assets/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading