REPOSITORY OVERVIEWLive repository statistics
★ 405Stars
⑂ 150Forks
◯ 94Open issues
◉ 405Watchers
74/100
OPENREPOHUB HEALTH SIGNALHealthy signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
100 Community adoption25% weight
53 Maintenance state20% weight
40 License clarity10% weight
100 Project information10% weight
75 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Compass
Chinese Document
Abstract
Compass is a platform for diagnosing computing engines and schedulers in the big data ecosystem, aiming to improve
the efficiency of troubleshooting and reduce the complexity of problem tuning. It automatically collects logs and
metrics, and uses heuristic rules to identify problems and provide tuning advice. In addition, for logs, ChatGPT is
used to provide diagnostic suggestions. The logs are automatically aggregated into templates using the drain algorithm,
which can be used for manual intervention, etc., to improve the automation of diagnosis and optimization solutions.
Feature
- Non-invasive, in-time diagnosis, no need to modify the original platform code.
- Compatible with multiple version for different componts such Spark 2.4+、Flink 1.2+、Hadoop 2.4+, DolphinScheduler 2.x+, Airflow, etc.
- Supports diagnostics for kinds of scheduling job issues, such as failure, abnormal elapsed time, abnormal baseline, etc.
- Supports diagnostics for kinds of engine task issues, such as data skew, big table scan, memory waste, long tail task, etc.
- Supports diagnostics for capturing log exception and offers advise or solution.
- Supports ChatGPT to diagnose abnormal logs and provide solutions; uses the drain algorithm to aggregate templates, saving costs.
Feature Support
Documents
Deployment document
Architecture document
Community
Welcome to join the community for the usage or development of Compass.
Usually We will reply it quickly.
Categories of Diagnosis
| Category | Scope | Dimension | Description |
|---|
| Failed task | Scheduler | Runtime Analysis | Fail to run task successfully after retrying per running cycle |
| First failed task | Scheduler | Runtime Analysis | Fail to run task first time but succeed after retrying per running cycle |
| Long-term failed task | Scheduler | Runtime Analysis | Keep failing to run task every running cycle |
| Exceed base-time task | Scheduler | Time Analysis | The run ends earlier or later than normal |
| Abnormal time-elapsed task | Scheduler | Time Analysis | The elapsed time of task is either too short or too long compared to the normal |
| Long time-consuming task | Scheduler | Time Analysis | The elapsed time of task is exceed 2 hours |
| Failed SQL task | Spark | Runtime Analysis | Failed to run sql |
| Shuffle failed task | Spark | Runtime Analysis | Failed to run task due to being unable to shuffle successfully |
| Memory Overflow | Spark | Runtime Analysis | There is not enough memory to run task |
| CPU waste | Spark,MapReduce | Resource Analysis | The usage of CPU is not high |
| Memory waste | Spark | Resource Analysis | The usage of Memory is not high |
| Large table scan | Spark,MapReduce | Efficiency Analysis | Scan too many rows of large table due to no partitions or no filters |
| Memory overflow warning | Spark | Efficiency Analysis | The size or rows of data broadcast from driver to executor is too many, which may cause memory overflow |
| Data skew | Spark,MapReduce | Efficiency Analysis | The maximum data each processing unit(task/map/reduce) is larger than the median |
| Abnormal time-consuming job | Spark | Efficiency Analysis | There is a higher ratio of idle time during the run of the job |
| Abnormal time-consuming stage | Spark | Efficiency Analysis |
UI
License
Compass is licensed under the Apache License, Version 2.0 For detail
see LICENSE and NOTICE.
Reference
The Drain algorithm is based on logpai project, for more please see