Fix broken monitors link in README (#908)

* Initial plan

* docs: fix broken monitors link and encourage contributions

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>

* docs: fix formatting to match existing style

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>

* docs: add implementations sections for Monitor, MonitorStatus, and SchedulerMonitor

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>
This commit is contained in:
Copilot 2026-01-28 10:27:20 -06:00 committed by GitHub
parent 93ffeadbf6
commit c4a0fed4ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 3 deletions

View File

@ -171,10 +171,15 @@ The provided NewLogger uses the standard library's log package.
### Metrics ### Metrics
Metrics may be collected from the execution of each job and scheduler lifecycle events. Metrics may be collected from the execution of each job and scheduler lifecycle events.
- [**Monitor**](https://pkg.go.dev/github.com/go-co-op/gocron/v2#Monitor): - [**Monitor**](https://pkg.go.dev/github.com/go-co-op/gocron/v2#Monitor):
- [**MonitorStatus**](https://pkg.go.dev/github.com/go-co-op/gocron/v2#MonitorStatus) (includes status and error (if any) of the Job)
A monitor can be used to collect metrics for each job from a scheduler. A monitor can be used to collect metrics for each job from a scheduler.
- Implementations: [go-co-op monitors](https://github.com/go-co-op?q=-monitor&type=all&language=&sort=) - Implementations: There are currently no open source implementations of the Monitor interface available.
(don't see what you need? request on slack to get a repo created to contribute it!) We'd love for you to be the first to contribute one! Check out the [Monitor interface documentation](https://pkg.go.dev/github.com/go-co-op/gocron/v2#Monitor)
to get started, or reach out on [Slack](https://gophers.slack.com/archives/CQ7T0T1FW) if you'd like to discuss your implementation.
- [**MonitorStatus**](https://pkg.go.dev/github.com/go-co-op/gocron/v2#MonitorStatus):
Extends Monitor with status and error tracking for each job.
- Implementations: There are currently no open source implementations of the MonitorStatus interface available.
We'd love for you to be the first to contribute one! Check out the [MonitorStatus interface documentation](https://pkg.go.dev/github.com/go-co-op/gocron/v2#MonitorStatus)
to get started, or reach out on [Slack](https://gophers.slack.com/archives/CQ7T0T1FW) if you'd like to discuss your implementation.
- [**SchedulerMonitor**](https://pkg.go.dev/github.com/go-co-op/gocron/v2#SchedulerMonitor): - [**SchedulerMonitor**](https://pkg.go.dev/github.com/go-co-op/gocron/v2#SchedulerMonitor):
A scheduler monitor provides comprehensive observability into scheduler and job lifecycle events. A scheduler monitor provides comprehensive observability into scheduler and job lifecycle events.
@ -216,6 +221,10 @@ A scheduler monitor provides comprehensive observability into scheduler and job
**Use Cases:** Prometheus metrics, custom dashboards, alerting systems, performance monitoring **Use Cases:** Prometheus metrics, custom dashboards, alerting systems, performance monitoring
- Implementations: There are currently no open source implementations of the SchedulerMonitor interface available.
We'd love for you to be the first to contribute one! Check out the [SchedulerMonitor interface documentation](https://pkg.go.dev/github.com/go-co-op/gocron/v2#SchedulerMonitor)
to get started, or reach out on [Slack](https://gophers.slack.com/archives/CQ7T0T1FW) if you'd like to discuss your implementation.
### Testing ### Testing
The gocron library is set up to enable testing. The gocron library is set up to enable testing.
- Mocks are provided in [the mock package](mocks) using [gomock](https://github.com/uber-go/mock). - Mocks are provided in [the mock package](mocks) using [gomock](https://github.com/uber-go/mock).