Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
21 changes: 19 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,32 @@ jobs:
exit 1
fi

- name: Run tests
run: go test -v -race -coverprofile=coverage.out ./...
- name: Run unit tests
run: go test -v -race -coverprofile=coverage.out ./internal/...

- name: Upload coverage
uses: codecov/codecov-action@v4
with:
files: coverage.out
fail_ci_if_error: false

e2e:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'

- name: Build binary
run: go build -o bin/metrics-analyzer ./cmd/metrics-analyzer

- name: Run E2E tests
run: go test -v ./cmd/...

validate-rules:
runs-on: ubuntu-latest
needs: build
Expand Down
34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Changelog

All notable changes to this project are documented in this file.

## 0.0.5

- Split histogram `+Inf` overflow reporting by label-set so problematic series are listed individually.
- Added metric description (Prometheus HELP text) to overflow findings.
- Improved overflow wording and added on-the-fly unit guessing for histogram outputs.
- Improved release/docs workflow (release target, GitHub Pages docs, container registry update).

## 0.0.4

- Added containerization and Helm chart support for deployment.
- Fixed Helm chart packaging/versioning issues for `0.0.4`.
- Continued rule quality improvements and review metadata propagation.

## 0.0.3

- Introduced rule review metadata and broader rule/test polishing.
- Added/expanded tests for gauge-threshold rules.
- Improved readability of numeric output formatting in reports.

## 0.0.2

- Added web server mode for serving analyzer output.

## 0.0.1

- Initial usable release with the results of the AI hackathon, including:
- interactive TUI mode,
- demo assets,
- generic histogram rule support,
- first web-server iteration.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.0.4
0.0.5
4 changes: 4 additions & 0 deletions cmd/metrics-analyzer/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ func TestE2EAnalyzeCommand(t *testing.T) {
"analyze",
"--rules", "../../testdata/fixtures",
"--format", "markdown",
"--template", "../../templates/markdown.tmpl",
"--output", "/tmp/test_e2e_report.md",
"../../testdata/fixtures/sample_metrics.txt",
},
Expand Down Expand Up @@ -209,9 +210,12 @@ func TestE2EFullWorkflow(t *testing.T) {
metricsPath := filepath.Join("..", "..", "testdata", "fixtures", "sample_metrics.txt")
rulesPath := filepath.Join("..", "..", "testdata", "fixtures")

templatePath := filepath.Join("..", "..", "templates", "markdown.tmpl")

cmd := exec.Command(absPath, "analyze",
"--rules", rulesPath,
"--format", "markdown",
"--template", templatePath,
"--output", "/tmp/e2e_test_report.md",
metricsPath,
)
Expand Down
2 changes: 1 addition & 1 deletion internal/evaluator/evaluator_common.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ func EvaluateAllRules(rulesList []rules.Rule, metrics parser.MetricsData, loadLe
}

// Apply general histogram +Inf overflow rule to all histogram metrics
infOverflowResults := EvaluateHistogramInfOverflow(metrics, loadLevel)
infOverflowResults := EvaluateHistogramInfOverflow(metrics)
for _, result := range infOverflowResults {
report.Results = append(report.Results, result)

Expand Down
Loading
Loading