0a8c8ce5cc
chore: remove InsertWorkspaceAgentStat query ( #12869 )
...
* chore: remove InsertWorkspaceAgentStat query
InsertWorkspaceAgentStats (batch) exists. We only used the singular in
a single unit test place. Removing the single for the batch, reducing
the interface size.
2024-04-09 12:35:27 -05:00
79fb8e43c5
feat: expose workspace statuses (with details) as a prometheus metric ( #12762 )
...
Implements #12462
2024-04-02 09:57:36 +02:00
b183236482
feat(coderd/database): use template_usage_stats
in *ByTemplate
insights queries ( #12668 )
...
This PR updates the `*ByTempalte` insights queries used for generating Prometheus metrics to behave the same way as the new rollup query and re-written insights queries that utilize the rolled up data.
2024-03-25 17:42:02 +02:00
9cfd5baa91
feat(coderd): export metric indicating each experiment's status ( #12657 )
2024-03-19 14:11:27 +02:00
f0f9569d51
chore: enforce that provisioners can only acquire jobs in their own organization ( #12600 )
...
* chore: add org ID as optional param to AcquireJob
* chore: plumb through organization id to provisioner daemons
* add org id to provisioner domain key
* enforce org id argument
* dbgen provisioner jobs defaults to default org
2024-03-18 12:48:13 -05:00
da54c8a51f
fix: fix data race in TestLabelsAggregation tests ( #12578 )
2024-03-13 13:47:22 +02:00
7a7105ad66
feat: make agent stats' cardinality configurable ( #12535 )
2024-03-13 12:03:36 +02:00
8f40ee3465
Revert "feat: make agent stats' cardinality configurable ( #12468 )" ( #12533 )
...
This reverts commit 21d1873d97
.
2024-03-11 14:33:36 +00:00
21d1873d97
feat: make agent stats' cardinality configurable ( #12468 )
...
Closes #12221
2024-03-11 16:04:08 +02:00
aacb4a2b4c
feat: use map instead of slice in metrics aggregator ( #11815 )
2024-01-29 09:12:41 +01:00
fdd60d316e
fix: fix MetricsAggregator check for metric sameness ( #11508 )
...
Fixes #11451
A refactor of the Agent API passes metrics as protobufs, which include pointers to label name/value pairs. The aggregator tested for sameness by doing a shallow compare of label values, which for different stats reports would compare unequal because the pointers would be different.
This fix does a deep compare.
While testing I also noted that we neglect to compare template names. This is unlikely to have caused any issue in practice, since the combination of username/workspace is unique, but in the context of comparing metric labels we should do the comparison.
If a user creates a workspace, deletes it, then recreates from a different template, we could in principle have reported incorrect stats for the old template.
2024-01-09 15:21:30 +04:00
fe867d02e0
fix: correct perms for forbidden error in TemplateScheduleStore.Load ( #11286 )
...
* chore: TemplateScheduleStore.Load() throwing forbidden error
* fix: workspace agent scope to include template
2023-12-20 11:38:49 -06:00
e46431078c
feat: add AgentAPI using DRPC ( #10811 )
...
Co-authored-by: Spike Curtis <spike@coder.com >
2023-12-18 22:53:28 +10:00
b7bdb17460
feat: add metrics to workspace agent scripts ( #11132 )
...
* push startup script metrics to agent
2023-12-13 11:45:43 -06:00
ef4d1b68e1
test: insights metrics: verify plugin usage ( #11156 )
2023-12-13 10:46:52 +01:00
d8df87d5ae
fix: insights metrics comparison ( #10800 )
...
* fix: insights metrics comparison
* links
2023-11-20 18:37:46 +01:00
fc249fab1e
skip TestCollectInsights ( #10749 )
2023-11-17 10:57:53 +01:00
0e5eecd7da
feat: add more logging around echo tar ( #10731 )
2023-11-16 16:52:04 +01:00
ed7e43b54c
feat: expose parameter insights as Prometheus metrics ( #10574 )
2023-11-09 10:30:40 +01:00
0a550815e9
feat: expose app insights as Prometheus metrics ( #10346 )
2023-11-07 17:14:59 +01:00
5abfe5afd0
chore: rename dbfake to dbmem ( #10432 )
2023-10-30 17:42:20 +00:00
c4f590581e
feat: expose template insights as Prometheus metrics ( #10325 )
2023-10-19 08:45:12 +00:00
5021e23105
chore: compute job status as column ( #10024 )
...
* chore: provisioner job status as column
* use provisioner job status for workspace searching
2023-10-04 20:57:46 -05:00
c194119689
chore: rename AwaitTemplateVersionJobCompleted
and AwaitWorkspaceBuildJobCompleted
( #10003 )
2023-10-03 11:02:56 -06:00
19d7da3d24
refactor(coderd/database): split Time
and Now
into dbtime
package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
22f31e721c
fix(coderd/prometheusmetrics): close batcher to force flush before asserting agent stats ( #9465 )
2023-08-31 11:40:57 +01:00
60d5002eb6
refactor: change template archive extraction to be on provisioner ( #9264 )
...
* refactor provisionersdk protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisioners to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisionerd to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor tests & proto renames
* Fixes from self-review
Signed-off-by: Spike Curtis <spike@coder.com >
* appease fmt & link
Signed-off-by: Spike Curtis <spike@coder.com >
* code review fixes & e2e fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* More fmt
Signed-off-by: Spike Curtis <spike@coder.com >
* Code review fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* new gen; use uuid for session workdir
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert nix-based gen CI task until dogfood is on nix
Signed-off-by: Spike Curtis <spike@coder.com >
* revert deleting dogfood Docker stuff
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert "revert deleting dogfood Docker stuff"
This reverts commit 9762158167
.
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-25 06:10:15 +00:00
22e781eced
chore: add /v2 to import module path ( #9072 )
...
* chore: add /v2 to import module path
go mod requires semantic versioning with versions greater than 1.x
This was a mechanical update by running:
```
go install github.com/marwan-at-work/mod/cmd/mod@latest
mod upgrade
```
Migrate generated files to import /v2
* Fix gen
2023-08-18 18:55:43 +00:00
bc862fa493
chore: upgrade tailscale to v1.46.1 ( #8913 )
2023-08-09 19:50:26 +00:00
9fb18f3ae5
feat(coderd): batch agent stats inserts ( #8875 )
...
This PR adds support for batching inserts to the workspace_agents_stats table.
Up to 1024 stats are batched, and flushed every second in a batch.
2023-08-04 17:00:42 +01:00
2f0a9996e7
chore: add derpserver to wsproxy, add proxies to derpmap ( #7311 )
2023-07-27 02:21:04 +10:00
de1a7a9210
chore: join user information to workspace_build and template_version ( #8625 )
...
* include minimial user on template version and build
* Add unit test to ensure join is superset
2023-07-25 09:14:38 -04:00
c47b78c44b
chore: replace wsconncache with a single tailnet ( #8176 )
2023-07-12 17:37:31 -05:00
dd4aafb350
feat: add template info tags to coderd_agents_up
metric ( #7942 )
...
Co-authored-by: Colin Adler <colin1adler@gmail.com >
2023-07-11 12:39:14 -05:00
8e2422d42c
feat: use named loggers in coderd
( #8148 )
2023-06-22 20:09:33 +02:00
b1d1b63113
chore: ensure logs consistency across Coder ( #8083 )
2023-06-20 12:30:45 +02:00
751c0505bf
chore: add benchmark for prometheusmetrics.MetricsAggregator ( #8066 )
...
* add benchmark for prom metrics aggregator
* fixup! add benchmark for prom metrics aggregator
* make fmt
2023-06-16 14:04:28 +01:00
8f736fe5f5
fix(prometheusmetrics): ensure periodic metrics tick on startup ( #7585 )
2023-06-02 11:56:37 -05:00
14efdadd3c
feat: Collect agent SSH metrics ( #7584 )
2023-05-25 12:52:36 +02:00
cd416c86dd
refactor: workspace builds ( #7541 )
...
* refactor workspace builds
Signed-off-by: Spike Curtis <spike@coder.com >
* make gen
Signed-off-by: Spike Curtis <spike@coder.com >
* Remove ParameterResolver from typescript
Signed-off-by: Spike Curtis <spike@coder.com >
* rename conversion -> database/db2sdk
Signed-off-by: Spike Curtis <spike@coder.com >
* tests for db2sdk
Signed-off-by: Spike Curtis <spike@coder.com >
* Tests for ParameterResolver
Signed-off-by: Spike Curtis <spike@coder.com >
* wsbuilder tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Move parameter validation tests to richparameters_test.go
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix CI generation; rename mock->dbmock
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix test imports
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-23 12:06:33 +04:00
bb0a38b161
feat: Implement aggregator for agent metrics ( #7259 )
2023-04-27 12:34:00 +02:00
b6666cf1cf
chore: tailnet debug logging ( #7260 )
...
* Enable discovery (disco) debug
Signed-off-by: Spike Curtis <spike@coder.com >
* Better debug on reconnectingPTY
Signed-off-by: Spike Curtis <spike@coder.com >
* Agent logging in appstest
Signed-off-by: Spike Curtis <spike@coder.com >
* More reconnectingPTY logging
Signed-off-by: Spike Curtis <spike@coder.com >
* Add logging to coordinator
Signed-off-by: Spike Curtis <spike@coder.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Clarify logs; remove unrelated changes
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
2023-04-27 13:59:01 +04:00
942aba3a66
feat: expose agent stats via Prometheus endpoint ( #7115 )
...
* WIP
* WIP
* WIP
* Agents
* fix
* 1min
* fix
* WIP
* Test
* docs
* fmt
* Add timer to measure the metrics collection
* Use CachedGaugeVec
* Unit tests
* WIP
* WIP
* db: GetWorkspaceAgentStatsAndLabels
* fmt
* WIP
* gauges
* feat: collect
* fix
* fmt
* minor fixes
* Prometheus flag
* fix
* WIP
* fix tests
* WIP
* fix json
* Rx Tx bytes
* CloseFunc
* fix
* fix
* Fixes
* fix
* fix: IgnoreErrors
* Fix: Windows
* fix
* reflect.DeepEquals
2023-04-14 16:14:52 +02:00
ad2353c3d8
chore: improve syntax in metrics collector ( #7085 )
2023-04-11 13:50:34 +00:00
0347231bb8
feat: expose agent metrics via Prometheus endpoint ( #7011 )
...
* WIP
* WIP
* WIP
* Agents
* fix
* 1min
* fix
* WIP
* Test
* docs
* fmt
* Add timer to measure the metrics collection
* Use CachedGaugeVec
* Unit tests
* Address PR comments
2023-04-07 17:48:52 +02:00
8b424f03c2
chore: Rename databasefake --> dbfake ( #6011 )
2023-02-02 19:28:55 -06:00
4a6fc40949
feat: Add database data generator to make fakedbs easier to populate ( #5922 )
...
* feat: Add database data generator to make fakedbs easier to populate
2023-01-31 15:10:03 -06:00
8afdf24d10
chore: Update sqlc to v1.16.0 ( #5788 )
...
* chore: Update sqlc to v1.16.0
* chore: Fix cases where types became Null-types
* chore: Set parameter_schemas default_destination_scheme and default_source_scheme to NOT NULL
* chore: Add enum validation to database fake
* chore: Fix all tests that skipping enum values
* fix: Use correct err in providionerdserver audit log failure log
2023-01-23 13:14:47 +02:00
534bff2ff5
fix: coderd/prometheusmetrics wait for all metrics in require.Eventually ( #5338 )
2022-12-07 17:50:17 +01:00
e740aebf26
feat: add provisionerd prometheus metrics ( #4909 )
2022-11-04 19:03:01 -05:00