Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP 273 processes ressources consumption #274

Merged
merged 60 commits into from
Mar 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
c3d755b
Merge pull request #256 from hubblo-org/dev
bpetit Jan 30, 2023
832ec60
adding funding file
bpetit Jan 30, 2023
5c8d63c
doc: fix typo in readme
bpetit Feb 1, 2023
b9cbcbe
Add Scaphandre Python binding with the first version of the PowercapR…
fvaleye Jul 3, 2022
f0ddeb4
chore: made sysinfo not optional and bumped version
bpetit Mar 13, 2023
0b094c6
fix: MetricGenerator was broken when containers feat is off
bpetit Mar 13, 2023
9adf9aa
ci: enabling unit tests for windows
bpetit Mar 13, 2023
4227a69
chore: checking sysinfo returns process cmdline as procfs did
bpetit Mar 13, 2023
e57f6ba
style: fmt
bpetit Mar 13, 2023
9d9c090
ci: enforce unit tests
bpetit Mar 13, 2023
6dd0b9a
chore: replaced procfs with sysinfo as a default
bpetit Mar 13, 2023
cc759bc
fix: doctest
bpetit Mar 13, 2023
4012484
docs: edited reference for memory metrics
bpetit Mar 13, 2023
7ab0180
style: fmt
bpetit Mar 13, 2023
6481946
fixed imports fr windows
bpetit Mar 13, 2023
b66ad8d
style: fmt
bpetit Mar 13, 2023
280b2cc
ci: disabled bloat test
bpetit Mar 13, 2023
c16cc2f
fix: updated sysinfo last version changes
bpetit Mar 13, 2023
c1376fb
fix: fixing imports for generate_cpu_cores windows
bpetit Mar 13, 2023
aaf39ae
style: fmt
bpetit Mar 13, 2023
ffcc337
fix: integration test not working on windows
bpetit Mar 13, 2023
bbe1ac9
fix: unit tests for cpu cores on windows
bpetit Mar 13, 2023
5d53be9
fix: test condition
bpetit Mar 13, 2023
fefd81d
fix: troubleshooting prometheus exporter
bpetit Mar 14, 2023
1480cdf
fix: troubleshooting prometheus exporter
bpetit Mar 14, 2023
fb37312
ci: removed useless steps in codesee workflow
bpetit Mar 14, 2023
ea72811
fix: changed doctest to it works for both windows and linux
bpetit Mar 14, 2023
46ca84d
fix: troubleshooting prometheus exporter
bpetit Mar 14, 2023
31ea5cc
feat: adding process_cpu_usage_percentage
bpetit Mar 14, 2023
2fe265d
fix: synchronized cpu usage percentage calculation
bpetit Mar 14, 2023
cae4d16
fix: troubleshooting prometheus exporter
bpetit Mar 14, 2023
ea9ce97
style: fmt
bpetit Mar 14, 2023
ba4afb7
chore: better dashboard for sample stack
bpetit Mar 14, 2023
c59ff50
fix: per process cpu usage percentage calculation
bpetit Mar 14, 2023
e0ec790
style: fmt
bpetit Mar 14, 2023
8df84c5
feat: added memory metrics
bpetit Mar 15, 2023
87e778e
fix: fn name
bpetit Mar 15, 2023
18df52d
chore: added load average to sample dashboard
bpetit Mar 15, 2023
2e9f538
chore: added neutral unit
bpetit Mar 15, 2023
2ff521a
feat: added load average to metrics
bpetit Mar 15, 2023
186f706
feat: added load average to metrics
bpetit Mar 15, 2023
bdda36c
style: fmt
bpetit Mar 15, 2023
e4f9834
fix: updated clean records for sysinfo and cargo fmt
bpetit Mar 15, 2023
fa308fb
feat: added cpu frequency and load avg
bpetit Mar 16, 2023
b8bb032
style: clippy and fmt
bpetit Mar 16, 2023
5e6416e
feat: added per-process disk usage metrics
bpetit Mar 16, 2023
6fb20ab
chore: factorized per process metrics gathering
bpetit Mar 17, 2023
9eff4cb
style: fmt + clippy
bpetit Mar 17, 2023
712cb59
fix: troubleshooting prometheus exporter
bpetit Mar 20, 2023
541e737
style: fmt
bpetit Mar 20, 2023
2b04bdf
style: fmt
bpetit Mar 20, 2023
cbe65ee
style: fmt
bpetit Mar 20, 2023
9ff6df4
fix: troubleshooting prometheus exporter
bpetit Mar 20, 2023
247ddc7
fix: troubleshooting prometheus exporter
bpetit Mar 20, 2023
1ad76ea
fix: troubleshooting prometheus exporter
bpetit Mar 20, 2023
7cbb863
fix: troubleshooting prometheus exporter
bpetit Mar 20, 2023
0a3ff1c
fix: troubleshooting prometheus exporter
bpetit Mar 20, 2023
ffb0659
fix: troubleshooting prometheus exporter
bpetit Mar 20, 2023
df51add
style: cleaning comments and debug messages
bpetit Mar 20, 2023
f4b6b0d
chore: update sample dahsboard
bpetit Mar 20, 2023
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
File renamed without changes.
11 changes: 7 additions & 4 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
fmt_and_clippy_windows:
name: Cargo Fmt and Clippy - Windows
runs-on: windows-latest
needs: fmt_and_clippy_linux
needs: check_pr_is_on_the_right_branch
steps:
- name: Checkout
uses: actions/checkout@v2
Expand All @@ -90,7 +90,6 @@ jobs:
test_linux_x86_64:
name: Test on GNU/Linux x86_64 (Bare metal worker)
runs-on: ubuntu-latest
needs: fmt_and_clippy_linux
steps:
- name: Install dependencies (awxkit)
uses: actions/setup-python@v2
Expand Down Expand Up @@ -120,7 +119,9 @@ jobs:
build_linux_x86_64:
name: Build on GNU/Linux x86_64 (Bare metal worker)
runs-on: ubuntu-latest
needs: test_linux_x86_64
needs:
- fmt_and_clippy_linux
- test_linux_x86_64
steps:
- name: Install dependencies (awxkit)
uses: actions/setup-python@v2
Expand All @@ -146,7 +147,6 @@ jobs:
test_windows_x86_64:
name: Test on Windows x86_64 (Virtual machine worker)
runs-on: "windows-2019"
needs: fmt_and_clippy_windows
steps:
- name: Checkout
uses: actions/checkout@v2
Expand All @@ -157,6 +157,9 @@ jobs:
- name: Install Rust toolchain
run: |
rustup toolchain install stable-x86_64-pc-windows-msvc
- name: Build (debug mode)
run: |
cargo test --no-default-features --features "prometheus json riemann"
- name: Build (debug mode)
run: |
cargo build --no-default-features --features "prometheus json riemann"
46 changes: 23 additions & 23 deletions .github/workflows/codesee-arch-diagram.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,33 +26,33 @@ jobs:
id: detect-languages
uses: Codesee-io/codesee-detect-languages-action@latest

- name: Configure JDK 16
uses: actions/setup-java@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).java }}
with:
java-version: '16'
distribution: 'zulu'
#- name: Configure JDK 16
# uses: actions/setup-java@v2
# if: ${{ fromJSON(steps.detect-languages.outputs.languages).java }}
# with:
# java-version: '16'
# distribution: 'zulu'

# CodeSee Maps Go support uses a static binary so there's no setup step required.
## CodeSee Maps Go support uses a static binary so there's no setup step required.

- name: Configure Node.js 14
uses: actions/setup-node@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).javascript }}
with:
node-version: '14'
#- name: Configure Node.js 14
# uses: actions/setup-node@v2
# if: ${{ fromJSON(steps.detect-languages.outputs.languages).javascript }}
# with:
# node-version: '14'

- name: Configure Python 3.x
uses: actions/setup-python@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).python }}
with:
python-version: '3.10'
architecture: 'x64'
#- name: Configure Python 3.x
# uses: actions/setup-python@v2
# if: ${{ fromJSON(steps.detect-languages.outputs.languages).python }}
# with:
# python-version: '3.10'
# architecture: 'x64'

- name: Configure Ruby '3.x'
uses: ruby/setup-ruby@v1
if: ${{ fromJSON(steps.detect-languages.outputs.languages).ruby }}
with:
ruby-version: '3.0'
#- name: Configure Ruby '3.x'
# uses: ruby/setup-ruby@v1
# if: ${{ fromJSON(steps.detect-languages.outputs.languages).ruby }}
# with:
# ruby-version: '3.0'

# We need the rust toolchain because it uses rustc and cargo to inspect the package
- name: Configure Rust 1.x stable
Expand Down
69 changes: 69 additions & 0 deletions .github/workflows/python_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: python_build

on:
push:
branches: [main]
pull_request:
branches: [main]

defaults:
run:
working-directory: ./python

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Check Python
run: |
pip install black isort mypy
make check-python
- name: Install minimal stable with clippy and rustfmt
uses: actions-rs/toolchain@v1
with:
profile: default
toolchain: stable
override: true
- name: Check Rust
run: make check-rust

test:
name: Python Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy

- uses: Swatinem/rust-cache@v1

- uses: actions/setup-python@v3
with:
python-version: "3.7"

- name: Build and install scaphandre
run: |
pip install virtualenv
virtualenv venv
source venv/bin/activate
make develop

- name: Run tests
run: |
source venv/bin/activate
make unit-test

- name: Build Sphinx documentation
run: |
source venv/bin/activate
make build-documentation
Loading