1
0
mirror of https://github.com/docker/compose-cli.git synced 2026-10-23 18:09:06 +03:00

26 Commits

Author SHA1 Message Date
Milas Bowman
784377898f metrics: track and report non-aggregated events
Currently, "usage" reports are sent, which are aggregated.
Add "event" variant, which won't be aggregated.

For compatibility, the "usage" events remain and nothing has
changed in terms of how they parse the command args, for example.
This will ensure continued functioning of anything that relies
on these metrics.

For the "event" variants, the CLI parsing is slightly different
in an attempt to improve data analysis capabilities while still
being respectful of user privacy (i.e. only known values of Docker
CLI commands/flags are ever recorded). Additionally, execution
duration information is now reported with these events.

Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-02-08 14:17:04 -05:00
Milas Bowman
e7d8d05d99 metrics: initial logic for command execution duration
Add a timer around command invocations to be reported with metrics.
This isn't actually sent anywhere currently, as it's meant for
evented data which is forthcoming. (We could report it with the
current events, but it's not clear that there's any value in doing
so.)

The signature for `Track()` has been changed to take an object with
all the fields. This is both for sanity to keep the method from
getting ridiculously long, and to make it easier to unify the usage
(heartbeat) and event code paths by ensuring we have all the data
for both.

Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-02-06 17:08:27 -05:00
Milas Bowman
16482c0611 metrics: move helper code from Compose
Compose doesn't actually currently use this code, it's only used
here. Moving it inline so that we can drop it from Compose in the
future or make changes as needed without worrying about this as a
dependency.

Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-02-06 16:50:29 -05:00
Milas Bowman
3f6822e196 metrics: add debug implementation
Refactor the metrics client slightly to add the concept of a
"reporter" that actually sends the metrics.

The primary implementation is HTTP-based as before, but a key
difference now is that there's another variant that writes to
a file for simplified debugging. This is activated by setting
the `DOCKER_METRICS_DEBUG_LOG` environment variable to a file
path to write events to as JSON lines.

Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-02-02 09:20:32 -05:00
Milas Bowman
020489241f lint: update for Go 1.19 / golangci-lint 1.50.1
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-02-01 16:04:49 -05:00
CrazyMax
668b262605 build metrics compatibility for next 22.06
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-07-27 17:03:03 +02:00
CrazyMax
1dce98712a Go 1.18
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-07-24 00:49:08 +02:00
Lorena Rangel
3ff346838a point to correct backend when switching context
Signed-off-by: Lorena Rangel <lorena.rangel@docker.com>
2021-10-18 14:15:04 +02:00
Lorena Rangel
7829bd2459 bump protoc and update .proto files
Signed-off-by: Lorena Rangel <lorena.rangel@docker.com>
2021-10-06 15:43:01 +02:00
Nicolas De Loof
bd5def8454 use docker/compose/v2
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-31 19:19:32 +02:00
Nicolas De Loof
c3f990f0a2 replace deprecated method after transitive dependency update
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-23 10:37:24 +02:00
Nicolas De Loof
49e7f2d45d Move compose v2 implementation under pkg/compose with dependencies
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-15 15:52:48 +02:00
Nicolas De Loof
d90495e1cd move compose API into pkg/api
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-15 15:52:48 +02:00
Nicolas De Loof
a2ff974ac6 remove obsolete compose grpc service
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-01 15:33:55 +02:00
Nicolas De Loof
48402585fd replace passing parameters by context with singletons
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-03-12 15:28:17 +01:00
Guillaume Tardif
cba4f140ae Add —all option to compose ls, listing non running projects.
Added e2e tests to stop, start, pause, unpause, ls —all, ps —all

Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-24 13:11:12 +01:00
Nicolas De Loof
9b282b69f8 Introduce --all option on compose ps
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-02 13:58:27 +01:00
Nicolas De Loof
f33eff5903 introduce --filter option on compose ls
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-22 10:27:56 +01:00
Guillaume Tardif
dcd1e30f6a Fix protos target to update new protos folder
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-19 16:48:54 +01:00
Guillaume Tardif
2a8c24e4ff Move config => api/config
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:55:10 +01:00
Guillaume Tardif
f1ac6d4fdc Move errdefs => api/errdefs
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:54:18 +01:00
Guillaume Tardif
fe39267e3a Move formatter => cli/formatter. Needed to move formatter.MemBytes => utils.MemBytes (helper class on memory display)
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:47:30 +01:00
Guillaume Tardif
0ea97920c1 Move Context & context/store => api/context & api/context/store
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:31:59 +01:00
Guillaume Tardif
930ae8bdb2 goimports -local github.com/docker/compose-cli -w . ; gofmt -s -w .
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:24:00 +01:00
Guillaume Tardif
deb7bc34e0 Move protos => cli/server/
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 15:49:44 +01:00
Guillaume Tardif
cd10d8eaa4 Move server => cli
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 15:32:21 +01:00