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
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
Mathieu Champlon
48ad1486ac
Revert "signals"
...
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2021-11-04 17:14:28 +01:00
Ulysses Souza
5aa293cc04
Fix plugin command delegation
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com >
2021-11-03 15:22:52 +01: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
Mathieu Champlon
8b76602054
Merge pull request #1879 from ndeloof/signals
...
signals
2021-09-21 12:09:52 +02:00
Ulysses Souza
25b335924c
Store context type in the context for reusing
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com >
2021-09-17 19:26:24 +02:00
Ulysses Souza
fa7e0632ba
Add checks for unsupported flags
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com >
2021-09-17 10:19:02 +02:00
Nicolas De Loof
07f6f804a9
use docker/compose/v2
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-09-17 10:19:02 +02:00
Nicolas De Loof
fcb91096b8
remove all references to cli from compose.v2 cmd package
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-08-31 15:41:20 +02:00
Nicolas De Loof
9215d68428
signals
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-07-13 10:02:48 +02:00
Ulysses Souza
37961c51ca
Add completion to "compose ps"
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com >
2021-07-12 14:33:37 -03: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
e2ea24ceb7
move compose-plugin commands under /cmd
...
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
21e2f5c062
use interceptor to implement ACI-specific flags
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-05-19 16:00:26 +02:00
Nicolas De Loof
9123c75142
On default context, "compose" is implemented by CLI Plugin
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-04-23 12:06:14 +02: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
Nicolas De Loof
d8aa00a766
wrap compose cobra command to set exitcode according to metrics status
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-04-22 17:51:29 +02:00
Guillaume Tardif
1dc97e8c4b
Compose as a cli plugin
...
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com >
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-04-22 17:51:29 +02:00
Nicolas De Loof
0bdad7e551
pass compose.Service to cobra commands, dependency-injection style
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-04-22 17:50:56 +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
Guillaume Tardif
86f5e311d7
Replace custom error type for exit code with existing one from docker/cli.
...
Will also help to move towards CLI plugin.
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com >
2021-04-07 15:48:37 +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
aiordache
f1f4ca4833
Check -H flags and DOCKER_HOST/DOCKER_CONTEXT vars when determining current context
...
Signed-off-by: aiordache <anca.iordache@docker.com >
2021-03-08 19:28:16 +01:00
aiordache
fef479ad1f
update test
...
Signed-off-by: aiordache <anca.iordache@docker.com >
2021-03-05 16:30:52 +01:00
aiordache
6458b97089
test fix
...
Signed-off-by: aiordache <anca.iordache@docker.com >
2021-03-05 14:48:18 +01:00
aiordache
f0fd18eec9
set current context to default when -H flag is set
...
Signed-off-by: aiordache <anca.iordache@docker.com >
2021-03-05 14:34:49 +01:00
aiordache
6f1d88e3bc
Fix test and load dockerconfig in the backend
...
Signed-off-by: aiordache <anca.iordache@docker.com >
2021-03-05 14:34:49 +01:00
aiordache
d26783c322
Add connection flags to root command
...
Signed-off-by: aiordache <anca.iordache@docker.com >
2021-03-05 14:34:49 +01:00
Nicolas De Loof
58e495c60b
only display experimental warning on command error
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-02-23 09:57:09 +01:00
aiordache
afac025a49
Add compose exec command
...
Signed-off-by: aiordache <anca.iordache@docker.com >
2021-02-16 10:56:00 +01:00
Nicolas De Loof
d9fe745cc0
avoid use of channels in API for gRPC compatibility
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-02-11 09:34:08 +01:00
Nicolas De Loof
9f80214dc2
Make -l -D -H non-persistent to avoid conflict with subcommands
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-02-04 17:13:44 +01:00
Nicolas De Loof
4cbb33e20d
Add support for --log-level
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2021-02-03 11:49:21 +01:00
Guillaume Tardif
aca816d5d6
Remove example backend.
...
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com >
2021-01-19 11:29:48 +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
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
65f53dff43
move metrics => cli
...
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com >
2021-01-15 15:26:35 +01:00
Guillaume Tardif
1939047fe6
Add backend-metadata command (hidden) for CLI backend
...
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com >
2021-01-05 16:36:51 +01:00
Nicolas De Loof
7a2e041524
Parse --version and forward to docker/cli
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2020-12-14 15:16:22 +01:00
Guillaume Tardif
b604ba6246
Fix 2 corner cases with PATH settings
...
* windows PATH should use windows separator (;)
* do not add separator if initial PATH is empty (was creating PATH=:/path)
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com >
2020-10-29 15:35:22 +01:00
Guillaume Tardif
5e809acd87
Use OS-dependant pathListSeparator, when appending to PATH
...
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com >
2020-10-29 15:09:38 +01:00
Nicolas De Loof
de96a0c1d0
CLI command to manage ECS volumes
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com >
2020-10-20 16:52:50 +02:00
Guillaume Tardif
a5e34323e2
Add docker prune command and ACI implementation
...
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com >
2020-10-14 17:48:11 +02:00
Ulysses Souza
10632b008b
Add version to UserAgent on ACI
...
This also refactors the Version insertion to make it global
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com >
2020-10-12 09:15:32 +02:00