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

30 Commits

Author SHA1 Message Date
Guillaume Lours
a0eabb3bb3 Merge pull request #2249 from milas/adjust-compose-events
metrics: adjust Compose event collection
2023-06-02 13:18:20 +02:00
pvalverde
61d6b02465 feat: added additional subcommands
Signed-off-by: pvalverde <91528455+paco-valverde@users.noreply.github.com>
2023-06-02 12:30:50 +02:00
Milas Bowman
b821810726 metrics: adjust Compose event collection
* for per-invocation events, only look at Compose `alpha`
  commands

* for aggregated events, include Compose `alpha` commands

Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-06-01 16:36:03 -04:00
pvalverde
97551730c0 feat: scout command metrics
Signed-off-by: pvalverde <91528455+paco-valverde@users.noreply.github.com>
2023-04-11 20:07:09 +02:00
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
Guillaume Tardif
4b1cbd08aa Add share command (docker extension share) in metrics whitelist
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2023-01-19 17:51:10 +01: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
Piotr Stankiewicz
cfa212f15d Fall back to global CLI socket on Linux
DD relies on having the CLI socket available in /var/run when running in
WSL. So in case we can't find the CLI socket in the calling user's home
directory, fall back to /var/run.

Signed-off-by: Piotr Stankiewicz <piotr.stankiewicz@docker.com>
2022-07-25 15:33:00 +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
Piotr Stankiewicz
f922ff963d Use Docker CLI socket from the User's home directory
We should not rely on having a global path for the Docker CLI socket. On
macOS this forces Docker Desktop to access directories which require
raised privileges. Whereas on Linux we do not create sockets in that
location at all, currently. So look for the Docker CLI socket in the
User's home directory.

Signed-off-by: Piotr Stankiewicz <piotr.stankiewicz@docker.com>
2022-07-22 11:31:22 +02:00
CrazyMax
8092874d41 metrics: fix unexpected usage output shown on cli
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-15 03:50:45 +02:00
Guillaume Tardif
f96ef1970c Add extension commands in command metrics
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2022-04-13 23:01:33 +02:00
Alex Goodman
29cbfa0485 add SBOM management command to metrics
Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
2022-03-23 10:45:42 -04:00
CrazyMax
535fb93280 add build metrics
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-22 19:36:19 +01:00
CrazyMax
a4ae60a39d recover missing commands for backward compatibility
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-16 12:20:31 +01:00
CrazyMax
6fd97089b8 sort commands
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-16 12:20:30 +01:00
CrazyMax
d3f55aec6d update commands
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-16 12:20:30 +01: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
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
Julien Tant
8f9ce9d763 Add cp command
Signed-off-by: Julien Tant <julien@craftyx.fr>
2021-05-01 18:20:52 -07:00
Nicolas De Loof
db38d1244c Retrieve compose failure category by exit code
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-04-22 18:01:28 +02:00
Chris Crone
411612ed8d Fix scan message with quiet flag
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2021-04-13 14:30:27 +02:00
Guillaume Tardif
073d8e5545 Categorize failure metrics, set specific metrics for compose file parse error, file not found, cmdline syntax errors, build error, pull error.
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-04-09 17:20:29 +02:00
Nicolas De Loof
0cd080a786 make metrics' source configuration (see compose-switch)
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-04-01 14:42:05 +02:00
Guillaume Tardif
a5affa447f Adapt e2e tests to compose flag order
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-08 11:33:10 +01:00
Guillaume Tardif
65f53dff43 move metrics => cli
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 15:26:35 +01:00