Commit graph

125 commits

Author SHA1 Message Date
ngxstat-bot
3717197991 analysis: make suggest_cache and detect_threats pure-callable, add CLI wrappers\n\n- Replace Typer Option defaults with plain Python defaults in functions used by generator/tests\n- Add CLI wrapper commands (, ) that delegate to the pure functions\n- Cast params to int for SQL/timedelta to avoid type issues\n- Resolves OptionInfo errors during run-reports analysis phase 2025-08-19 00:51:10 -05:00
ngxstat-bot
359d69c3e9 Recent: place Cache Status and HTTP Statuses side-by-side in a single row\n\n- Add a Bulma columns row in Recent section\n- Route the two key distribution charts into two half-width columns\n- Leave other global reports stacked below as before 2025-08-19 00:48:32 -05:00
ngxstat-bot
f0ed112626 reports: fix analysis import error when run as a script\n\n- Prepend project root to sys.path in scripts/generate_reports.py to allow when executed via path\n- Update run-reports.sh to invoke the generator as a module () for robust imports\n- Keeps CLI behavior the same while eliminating 'No module named scripts' 2025-08-19 00:40:07 -05:00
ngxstat-bot
8eec623c92 reports: use timezone-aware UTC for timestamps\n\n- Replace deprecated datetime.utcnow() with datetime.now(timezone.utc)\n- Keeps existing human-friendly format while avoiding deprecation warnings\n- Applies to marker file and generated_at in stats 2025-08-19 00:36:41 -05:00
ngxstat-bot
2bfd487106 UX: merge Distribution and Tables into a single Breakdown tab with clear option help\n\n- Replace separate Distribution/Tables tabs with one Breakdown tab\n- Breakdown shows categorical charts and data tables together\n- Add in-page help explaining Percent mode, Grouping, and Exclude '-'\n- Update filtering, containers, and tab logic to target new tab\n- Keep existing report JSON/HTML contracts; no server changes required 2025-08-19 00:28:42 -05:00
ngxstat-bot
95e54359d7 UX: unify time selection and simplify controls\n\n- Replace separate Interval + Window with a single Time preset (Last hour/24h/7d/30d/12w/12m/All time)\n- Map presets to sensible grouping (hourly/daily/weekly/monthly) based on available intervals\n- Keep backward compatibility: preserve existing URL/state params; keep legacy controls hidden\n- Add client support for new windows (12w, 12m) in time-bucket slicing\n- Show only relevant controls per tab (Trends: smoothing; Distribution: percent/group/exclude)\n- Streamline reset flow to a sane default (Last 7 days) 2025-08-19 00:09:49 -05:00
ngxstat-bot
6de85b7cc5 UX Phase 1 follow-ups: state v2 + reset, window defaults + support, palette support; analysis JSON generation; tests for LIMIT/metadata; README updates 2025-08-18 23:47:23 -05:00
ngxstat-bot
fab91d2e04 Phase 1 UX + JS transforms: tabs, windowing, percent/grouping, smoothing, stacked series, metadata pass-through, top_n
- Replace tabs with Recent/Trends/Distribution/Tables/Analysis and add sticky controls (interval, domain, window [default 7d], percent, group small, exclude '-' -> Uncached, smoothing toggle).

- Client-side transforms: time-window slicing, percent mode, group others (3%), per-report exclusions; stackedBar multi-series; moving average for error_rate.

- Generator: pass through optional UX metadata (windows_supported, window_default, group_others_threshold, exclude_values, top_n, stacked, palette) and enforce top_n LIMIT for table reports.

- Reports: add status_classes_timeseries and cache_status_timeseries; apply top_n=50 to heavy tables.

- Chart manager: add helpers (sliceWindow, excludeValues, toPercent, groupOthers, movingAverage).

- URL state + localStorage for context; per-tab filtering for Trends/Distribution/Tables.
2025-08-18 23:01:00 -05:00
ngxstat-bot
9c26ae3e90 ci: ensure repo root on PYTHONPATH when running pytest
All checks were successful
CI / Lint, test, and build (push) Successful in 49s
2025-08-16 05:29:20 -05:00
ngxstat-bot
a8f7ac9b7a lint: remove unused Path import in tests/test_nginx_config.py
Some checks failed
CI / Lint, test, and build (push) Failing after 45s
2025-08-16 05:27:02 -05:00
ngxstat-bot
5053a4c4db lint: re-enable E402; remove sys.path hacks; drop unused pytest imports in tests
Some checks failed
CI / Lint, test, and build (push) Failing after 46s
2025-08-16 05:24:14 -05:00
ngxstat-bot
176359d010 lint: remove unused typing import; mark test pytest import as noqa F401
All checks were successful
CI / Lint, test, and build (push) Successful in 48s
2025-08-16 05:19:48 -05:00
ngxstat-bot
ab4f017ba8 ci: robust venv creation; verify cached venv has activate and fallback to local
Some checks failed
CI / Lint, test, and build (push) Failing after 45s
2025-08-16 05:17:51 -05:00
ngxstat-bot
136b4196ea ci: add pytest --maxfail=1 and simple pip/venv cache at /cache if available
Some checks failed
CI / Lint, test, and build (push) Failing after 33s
2025-08-16 05:15:59 -05:00
ngxstat-bot
979fbb0e64 ci(lint): configure flake8 excludes/line-length; fix F541 and F401 in tests
Some checks failed
CI / Lint, test, and build (push) Failing after 39s
2025-08-16 05:14:01 -05:00
ngxstat-bot
0363c37202 ci: replace Node-based actions with manual git clone and Debian container
Some checks failed
CI / Lint, test, and build (push) Failing after 49s
2025-08-16 05:05:33 -05:00
ngxstat-bot
91f87689d0 ci: add Forgejo Actions workflow for lint, test, and sample reports artifact
Some checks failed
CI / Lint and test (py3.10) (push) Failing after 40s
CI / Lint and test (py3.11) (push) Failing after 8s
CI / Lint and test (py3.12) (push) Failing after 8s
CI / Build sample reports artifact (push) Has been skipped
2025-08-16 04:57:20 -05:00
97b735f17a
Merge pull request #51 from wagesj45/codex/locate-usage-of-/output-directory
Record timestamp of last report generation
2025-08-02 03:13:49 -05:00
2300849fdc Place generated marker in output directory 2025-08-02 03:12:59 -05:00
75d6b219aa
Merge pull request #50 from wagesj45/codex/add-domain-grouping-to-reports
Enable multi-column table reports
2025-07-19 18:20:08 -05:00
1d4e99c69b Add multi-bucket support for tables and update reports 2025-07-19 18:19:58 -05:00
250cce8c11
Merge pull request #49 from wagesj45/codex/implement-chartmanager-for-loading-and-aborting
Add chart manager for abortable fetches
2025-07-19 18:01:36 -05:00
5d2546ad60 Add chart loading management 2025-07-19 18:01:26 -05:00
3135dbe378
Merge pull request #48 from wagesj45/codex/investigate-per-domain-chart-loading-error
Fix per-domain chart reload issue
2025-07-19 17:04:17 -05:00
297c913f2a fix: destroy charts when switching tabs 2025-07-19 17:03:48 -05:00
bf09af6b5e
Merge pull request #47 from wagesj45/codex/fix-per-domain-charts-loading-bug
Fix chart reload bug
2025-07-19 16:42:18 -05:00
fb753a1189 fix: destroy charts when reloading domain reports 2025-07-19 16:41:58 -05:00
7271da95ac
Merge pull request #46 from wagesj45/codex/add-report-generation-time-statistics
Add report generation timing stats
2025-07-19 04:50:22 -05:00
669b51e03c Add report generation timing stats 2025-07-19 04:50:09 -05:00
8800f73661
Merge pull request #45 from wagesj45/codex/update-agents.md-and-readme.md
Update docs and agent instructions
2025-07-19 04:31:28 -05:00
832a0a49dd docs: refresh README and agent guide 2025-07-19 04:31:13 -05:00
2a9bab6e6f
Merge pull request #44 from wagesj45/codex/retool-reports-for-better-visualization
Improve report field naming
2025-07-19 04:17:51 -05:00
87608ccdb9 refactor: improve report field names 2025-07-19 04:17:38 -05:00
9d55abfebe
Merge pull request #43 from wagesj45/codex/update-duration-dropdown-to-include-specific-directories
Update duration dropdown logic
2025-07-19 04:08:51 -05:00
66b1209486 Fix dropdown duration dirs 2025-07-19 04:08:40 -05:00
24c4b05424
Merge pull request #42 from wagesj45/codex/integrate-cc0-icons-and-update-ui
Switch to CC0 icons
2025-07-19 03:59:09 -05:00
4017b4ab72 Fix duplicate icon assignment 2025-07-19 03:58:41 -05:00
ad28b6e81e
Merge pull request #41 from wagesj45/codex/add-logging,-locking-and-cron-setup-scripts
Add lock files and cron setup
2025-07-19 03:35:31 -05:00
2b38de598f Add lock files and cron setup 2025-07-19 03:35:18 -05:00
573a41c556
Merge pull request #40 from wagesj45/codex/remove-duration-dropdown-from-analysis-tab
Fix analysis tab intervals
2025-07-19 03:30:30 -05:00
d1f3c5a9ae Hide analysis duration 2025-07-19 03:30:08 -05:00
d33a3f162f
Merge pull request #39 from wagesj45/codex/fix-notimplementederror-in-analysis
Fix absolute include patterns in nginx config discovery
2025-07-19 03:17:58 -05:00
2443aecaf6 fix nginx config discovery for absolute include patterns 2025-07-19 03:17:07 -05:00
07528dad13
Merge pull request #38 from wagesj45/codex/fix-modulenotfounderror-in-analyze.py
Fix module imports in run-analysis
2025-07-19 02:55:29 -05:00
0a05f0c010 Fix module imports in run-analysis 2025-07-19 02:55:15 -05:00
086920339a
Merge pull request #37 from wagesj45/codex/add-analysis-tab-to-report-page
Add analysis tab with JSON output
2025-07-19 02:30:55 -05:00
9cf27ecb2f Add analysis tab and JSON outputs 2025-07-19 02:30:15 -05:00
8dcf2035aa
Merge pull request #36 from wagesj45/codex/add-run-analysis.sh-script
Add run-analysis script and tests
2025-07-19 02:19:25 -05:00
2e7e75e4ce Add run-analysis helper script and tests 2025-07-19 02:19:08 -05:00
b1658d28ba
Merge pull request #35 from wagesj45/codex/add-detect_threats-command-in-analyze.py
Add threat detection command
2025-07-19 02:12:51 -05:00