Commit graph

71 commits

Author SHA1 Message Date
Pēteris Caune
27c065230a
Switch back to using integer timestamps in the log page
The live-updating code still needs float timestamps, but
we only need them for the most recent event (so we know
the lower threshold for fetching new events). We now send
the float timestamp separately:

* in the `/log/` view, we put it in HTML content, in a <script> tag
* in the `/log_events/` view we put it in response header

The main benefit of this is smaller response sizes for the
`/log/` and `/log_events/` views.
2024-04-09 14:24:43 +03:00
Pēteris Caune
d7948d9939
Show status changes (flips) in check's log page
Fixes: #447
2024-04-09 12:39:42 +03:00
Pēteris Caune
855fac0973
Implement filtering by event type in the Log page
Fixes: #873
2024-03-21 11:04:45 +02:00
Pēteris Caune
df6895ed1f
Fix regression in log auto-updating code
Also switch back to using integers for the slider min and max
values, and for the hc.front.forms.LogFilterForm.
2024-03-19 19:11:46 +02:00
Pēteris Caune
47894f6add
Rearrange the log page to make room for more filters
* Switch from nouislider to simpler <input type="range">
* Move it to a sidebar

Also, fix a bug in _get_events where the "start" local variable
got clobbered, and made the date range for the Notification
query wrong.
2024-03-19 18:47:13 +02:00
Michael Boateng
9770bc1ea0
Add auto-refresh functionality to log page (#963)
Add auto-refresh functionality to log page

Fixes: #957

---------

Co-authored-by: Pēteris Caune <cuu508@gmail.com>
2024-02-23 11:36:31 +02:00
Pēteris Caune
82e5c60ffa
Update timezone selectors to recognize "oncalendar" schedules 2023-12-06 16:32:39 +02:00
Pēteris Caune
dba356c5d4
For cron checks, change default display timezone to check's timezone
In the "Details" and "Log" pages Healthchecks displays a list
of events (incoming pings and sent alerts). At the top of the
events list is a two- or three-way selector for selecting
the timezone for formatting event dates and times. The selector
options are "UTC", check's configured timezone, and "Browser's
time zone". The "Browser's time zone" used to be default, initial
selection for all checks.

With this change, for checks that use cron schedule, the default
selected timezone will be the check's configured timezone.
The "Browser's time zone" option is of course still there and the
user can switch to it to see dates and times in their local time.

Rationale: I semi-regularly get support requests about unexpected
or missing alerts, where the problem boil downs to a timezone
mismatch between the client and the Healthchecks server. Sometimes
the confusion seems to be caused by the user seeing ping arrival
times in  their local time zone, comparing them to their cron
expression, and not realizing their server may be using a different
timezone. By switching the default display timezone to the check's
configured timezone, I hope users will be more likely to notice
discrepancies between ping arrival times, the cron schedule,
and their local clock.

For checks using simple schedules (timeout and grace), we still
default to browser's timezone for display.
2023-06-29 12:12:54 +03:00
Pēteris Caune
bad4b9adbf
Add a "Switch Project" menu in top navigation 2023-03-10 10:36:09 +02:00
Pēteris Caune
37bbe5a9c7
Add date filters in the Log page 2022-09-09 14:16:17 +03:00
Pēteris Caune
10014af352
Optimize HTML output of the events log 2022-09-05 16:01:14 +03:00
Pēteris Caune
d2c79b0c2b
Rename "Log" -> "Events" in the UI 2022-07-21 14:41:23 +03:00
Pēteris Caune
dc107ff7f5
Add ping endpoints for "log" events 2022-07-21 10:30:52 +03:00
Pēteris Caune
0553f0a38a
Fix the display of ignored pings with non-zero exit status 2022-06-30 16:49:09 +03:00
Pēteris Caune
1b2defa6ee
Optimize HTML output in /checks/<uuid>/log/ 2022-04-04 11:11:55 +03:00
Pēteris Caune
580eaceeb5
Optimize HTML output in /checks/<uuid>/log/
* Don't use 'date' and 'time' CSS classes in HTML output
* Replace the span.ua-body CSS class with code tags
2022-04-04 10:24:31 +03:00
Pēteris Caune
1d20be94ff
Optimize HTML output in /checks/<uuid>/log/
* Simplify the "n" cell
* Don't send details URLs, construct them on client side
* Strip microseconds in timestamps
2022-04-04 09:51:07 +03:00
Pēteris Caune
fd15302d2a
Improve the loading state of the "Ping Details" dialog
If the "Ping details" dialog takes more than ~300ms to load,
show an animated progress indicator.

Also, move the loading code to a ping_details.js file
to reduce code repetition.
2022-03-16 13:51:26 +02:00
Pēteris Caune
05bb80130b
Add support for storing ping bodies in S3-compatible object storage
This is an initial, minimal implementation. It is currently
missing: error handling, timeouts for S3 operations, documentation.

cc: #609
2022-02-28 11:51:04 +02:00
Pēteris Caune
5ecd625c0b
Add Ping.body_raw field for storing body as bytes 2022-02-25 16:50:54 +02:00
Pēteris Caune
5fe4a60b30
Upgrade to jQuery 3.6.0 2021-10-01 13:12:20 +03:00
Pēteris Caune
46bc7d8306
Improve HTML email display in the "Ping Details" dialog 2021-02-26 16:25:39 +02:00
Pēteris Caune
67560c96e1
Change icon CSS class prefix to work around Fanboy's filter list
Problem: if you use uBlock Origin, and enable the
"Fanboy's Social" filter list, Healthchecks does not show
Telegram or WhatsApp icons. This is because the filter list
contains "##.icon-telegram" and "##.icon-whatsapp" entries.

This commit changes the CSS class prefix to "ic-". So we're
now using icon classes like "ic-telegram" and "ic-whatsapp".

As a bonus, we save 2 bytes in HTML per displayed icon :-)
2021-02-03 10:44:35 +02:00
Pēteris Caune
617bd92434
Add Ping.exitstatus field, store received exit status values in db
Fixes #455
2020-11-29 12:12:44 +02:00
Pēteris Caune
519a666057
{% site_name %} -> {{ site_name }} so we can use blocktrans tags for L10N 2020-07-21 17:59:39 +03:00
Pēteris Caune
494fd9ffb7
Improve alert summaries in ping log 2019-11-19 15:29:38 +02:00
Pēteris Caune
052700a642
Make log events fit better on mobile screens. 2019-11-05 10:45:39 +02:00
Pēteris Caune
7fffb95c96
load staticfiles -> load static 2019-09-09 10:55:38 +03:00
Pēteris Caune
9474006d83
Support informal time zones. 2019-08-22 11:41:08 +03:00
Pēteris Caune
dfd449b101
Three choices in timezone switcher (UTC / check's timezone / browser's timezone). Fixes #278 2019-08-22 11:17:27 +03:00
Pēteris Caune
a4fde44e3a
Can configure the email integration to only report the "down" events. Fixes #231 2019-04-10 17:54:19 +03:00
Pēteris Caune
0b90bb23ce
Merge base.html and base_project.html 2019-04-02 13:12:29 +03:00
Pēteris Caune
178b0ff95c
Show "Badges" and "Settings" in top navigation. Fixes #234 2019-04-02 11:51:35 +03:00
Michal Bryc
6f1ade98e2 Add more views 2019-03-13 22:03:24 -07:00
Pēteris Caune
954ca4576b
Improved logic for displaying job execution times in log. Fixes #219 2019-03-01 14:39:44 +02:00
Pēteris Caune
6b0d566922
"My Projects" page. 2019-01-29 10:59:10 +02:00
Pēteris Caune
5edcd42033
Add the "Email Settings..." dialog and the "Subject Must Contain" setting 2019-01-04 16:07:11 +02:00
Pēteris Caune
99d46a0ca8
Use Ping.kind instead of Ping.start and Ping.fail when displaying logs and ping details. 2019-01-04 12:07:27 +02:00
Pēteris Caune
b3e290b284
Show elapsed times in ping log 2018-12-25 13:01:49 +02:00
Pēteris Caune
481848a749
Add "/ping/<code>/start" API endpoint 2018-12-18 22:57:12 +02:00
Pēteris Caune
0a50962f2b
Drop the trunc template filter, Django has a built in truncatechars that does the same thing. 2018-08-20 13:50:40 +03:00
Pēteris Caune
bee1cbca80
Better ellipsizing of long log lines. 2018-08-19 20:06:42 +03:00
Pēteris Caune
7e56eb883e
Fetch ping details using HTTP GET, not HTTP POST. 2018-08-19 18:18:25 +03:00
Pēteris Caune
a883fe38aa
Log auto-refreshes in the details page. 2018-08-19 12:32:03 +03:00
Pēteris Caune
04fede0897
Auto-refresh current status in log page. 2018-08-17 20:53:50 +03:00
Pēteris Caune
8b01acefe2
Show 20 most recent pings by default. 2018-08-17 18:20:15 +03:00
Pēteris Caune
8e7b05f96e
Gear icon links to Log page directly 2018-08-17 15:37:38 +03:00
Pēteris Caune
458c4cfeeb
Hook up buttons in the log page. 2018-08-17 15:09:36 +03:00
Pēteris Caune
ea8e08acd2
Log page redesign WIP 2018-08-17 11:40:45 +03:00
Pēteris Caune
5ffc3088f3
staticfiles -> static, and some cleanup 2018-08-04 19:43:00 +03:00