Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CAPABILITIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ introduced the value, not stated anywhere authoritative — corrections welcome.
| `LOC_REBOOT_COLLECT_INFO` = 19 | cfg | LOC-initiated reboot and collect-info; `LOCConfig.datastore_collect_info_id` **(?)** |
| `SMART_REPORT` = 20 | rpt | S.M.A.R.T. data in `ZHardwareHealth.disks`, superseding the deprecated `ZInfoHardware.disks` |
| `REPORT_TPM_EVENTLOG` = 21 | rpt | `ZAttestQuote.tpm_binary_event_log`, superseding the deprecated `ZAttestQuote.event_log` |
| `APP_INSTANCE_NET_INTERFACE_CHANGE` = 22 | cfg | adding or removing an `AppInstanceConfig.interfaces` entry needs only `restart`, not `purge`, so the app keeps its volumes; the `AppInstanceConfig` comment still describes the older purge requirement **(?)** |
| `DEFERRED_QUEUE_METRICS` = 23 | rpt | `deviceMetric.deferred_queue`, and `urlcloudMetric.retriableErrCount`, `.rejectedErrCount`, `.deliveredMsgCount` |

### Adding a value

Expand Down
322 changes: 164 additions & 158 deletions go/info/info.pb.go

Large diffs are not rendered by default.

1,319 changes: 746 additions & 573 deletions go/metrics/metrics.pb.go

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions proto/info/info.proto
Original file line number Diff line number Diff line change
Expand Up @@ -722,6 +722,7 @@ enum APICapability {
API_CAPABILITY_SMART_REPORT = 20; // Support for S.M.A.R.T. info on physical storage devices
API_CAPABILITY_REPORT_TPM_EVENTLOG = 21; // Support for reporting TPM Event Log "as is" without parsing and selectively reporting events
API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE = 22; // Support for adding and removing network interfaces without purge, but restart or the edge app
API_CAPABILITY_DEFERRED_QUEUE_METRICS = 23; // Reports deviceMetric.deferred_queue and the per-URL retriable, rejected and delivered counts
// Append new values as new API features are implemented; never insert or
// renumber, since a value asserts that all lower values are also supported.
}
Expand Down
17 changes: 17 additions & 0 deletions proto/metrics/metrics.proto
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,20 @@ message urlcloudMetric {
int64 recvByteCount = 7;
int64 total_time_spent = 8; // Total time spent servicing requests that succeeded
int64 sess_resume_count = 9; // Total counts of the TLS session resumption

int64 retriableErrCount = 10; // Answered with a status which may not repeat, such as a server error or a rate limit; the message is kept and offered again
int64 rejectedErrCount = 11; // Answered with a rejection of the request itself, so the message is given up on
int64 deliveredMsgCount = 12; // Answered with a success status, i.e. accepted; narrower than sentMsgCount, which counts any answer

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think they can be unsigned.

Also I thought we're using snake_case in our proto files.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@christoph-zededa we use that for new things, but within a given struct/enum we follow what was there before. Same for prefixes for enum values.

Odd thing is that yetus didn't make a note of this.

}

// What the device is holding back or has given up on delivering to the controller
message deferredQueueMetric {
uint32 undeliveredMsgCount = 1; // Messages waiting to be delivered
google.protobuf.Timestamp oldestUndeliveredMsg = 2; // When the oldest of them was produced; unset when there are none
uint64 droppedMsgCount = 3; // Messages given up on since boot, i.e. state the controller was never told
uint64 rejectedMsgCount = 4; // Of those, the ones the controller rejected
uint64 supersededMsgCount = 5; // Of those, the ones a later periodic publication supersedes
google.protobuf.Timestamp lastDroppedMsg = 6; // When the most recent one was given up on
}

// Failures and successes for the object decryption
Expand Down Expand Up @@ -303,6 +317,9 @@ message deviceMetric {

// Bond adapter metrics
repeated BondMetrics bond_metrics = 31;

// Queue of messages waiting to reach the controller; per device, not per port
deferredQueueMetric deferred_queue = 32;
}

message AclMetric {
Expand Down
52 changes: 26 additions & 26 deletions python/info/info_pb2.py

Large diffs are not rendered by default.

206 changes: 104 additions & 102 deletions python/metrics/metrics_pb2.py

Large diffs are not rendered by default.

Loading