-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[network metrics] instance network interface schema
This is related to the ongoing work in [plumbing instance/guest metrics](oxidecomputer/propolis#742) through to an oximeter producer in propolis. Includes: - Rewriting the comment for `trait Target` in Oximeter to not being prepped for deprecation, as it does come in handy for custom needs - The main differentiating field among instance network information here is `interface_id`, which is exposed to propolis via the client's `NetworkInterfaceRequest`. We currently match the `nic.slot` to the `port.slot` to pass which of the requested nics `interface_id` uuids are part of the request.
- Loading branch information
1 parent
7c8c2c3
commit efe2ba7
Showing
5 changed files
with
124 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
format_version = 1 | ||
|
||
[target] | ||
name = "instance_network_interface" | ||
description = "A network interface attached to a virtual machine instance" | ||
authz_scope = "fleet" | ||
versions = [ | ||
{ version = 1, fields = [ "interface_id", "instance_id", "project_id", "silo_id", "sled_id", "sled_model", "sled_revision", "sled_serial" ] }, | ||
] | ||
|
||
[[metrics]] | ||
name = "bytes_sent" | ||
description = "Total number of bytes sent on the network interface" | ||
units = "bytes" | ||
datum_type = "cumulative_u64" | ||
versions = [ | ||
{ added_in = 1, fields = [] } | ||
] | ||
|
||
[[metrics]] | ||
name = "bytes_received" | ||
description = "Total number of bytes received on the network interface" | ||
units = "bytes" | ||
datum_type = "cumulative_u64" | ||
versions = [ | ||
{ added_in = 1, fields = [] } | ||
] | ||
|
||
[[metrics]] | ||
name = "packets_sent" | ||
description = "Total number of packets sent on the network interface" | ||
units = "count" | ||
datum_type = "cumulative_u64" | ||
versions = [ | ||
{ added_in = 1, fields = [] } | ||
] | ||
|
||
[[metrics]] | ||
name = "packets_received" | ||
description = "Total number of packets received on the network interface" | ||
units = "count" | ||
datum_type = "cumulative_u64" | ||
versions = [ | ||
{ added_in = 1, fields = [] } | ||
] | ||
|
||
[[metrics]] | ||
name = "packets_dropped" | ||
description = "Number of packets dropped on the RX queue of the network interface" | ||
units = "count" | ||
datum_type = "cumulative_u64" | ||
versions = [ | ||
{ added_in = 1, fields = [] } | ||
] | ||
|
||
[fields.interface_id] | ||
type = "uuid" | ||
description = "The ID of the network interface" | ||
|
||
[fields.instance_id] | ||
type = "uuid" | ||
description = "The ID of the virtual machine instance this network interface is attached to" | ||
|
||
[fields.project_id] | ||
type = "uuid" | ||
description = "The ID of the project containing the virtual machine instance this network interface is attached to" | ||
|
||
[fields.silo_id] | ||
type = "uuid" | ||
description = "The ID of the silo containing the virtual machine instance this network interface is attached to" | ||
|
||
[fields.sled_id] | ||
type = "uuid" | ||
description = "The ID of the sled managing the virtual machine this network interface is attached to" | ||
|
||
[fields.sled_model] | ||
type = "string" | ||
description = "The model number of the sled managing the virtual machine the network interface is attached to" | ||
|
||
[fields.sled_revision] | ||
type = "u32" | ||
description = "The revision number of the sled managing the virtual machine this network interface is attached to" | ||
|
||
[fields.sled_serial] | ||
type = "string" | ||
description = "The serial number of the sled managing the virtual machine this network interface is attached to" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters