systemctl: report accounted network traffic in "systemctl status"
This hooks up the eposed D-Bus values and displays them like this: -bash-4.3# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/etc/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2016-11-11 20:10:36 CET; 1min 29s ago Main PID: 33 (httpd) Status: "Total requests: 22514; Idle/Busy workers 92/7;Requests/sec: 259; Bytes served/sec: 87KB/sec" Network: 15.8M in, 51.1M out ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CGroup: /system.slice/httpd.service ├─ 33 /usr/sbin/httpd -DFOREGROUND ├─ 37 /usr/sbin/httpd -DFOREGROUND ├─112 /usr/sbin/httpd -DFOREGROUND └─119 /usr/sbin/httpd -DFOREGROUND
This commit is contained in:
parent
377bfd2d49
commit
0e97c93fe5
|
@ -3878,6 +3878,9 @@ typedef struct UnitStatusInfo {
|
|||
uint64_t tasks_current;
|
||||
uint64_t tasks_max;
|
||||
|
||||
uint64_t ip_ingress_bytes;
|
||||
uint64_t ip_egress_bytes;
|
||||
|
||||
LIST_HEAD(ExecStatusInfo, exec);
|
||||
} UnitStatusInfo;
|
||||
|
||||
|
@ -4194,6 +4197,14 @@ static void print_status_info(
|
|||
if (i->status_errno > 0)
|
||||
printf(" Error: %i (%s)\n", i->status_errno, strerror(i->status_errno));
|
||||
|
||||
if (i->ip_ingress_bytes != (uint64_t) -1 && i->ip_egress_bytes != (uint64_t) -1) {
|
||||
char buf_in[FORMAT_BYTES_MAX], buf_out[FORMAT_BYTES_MAX];
|
||||
|
||||
printf(" IP: %s in, %s out\n",
|
||||
format_bytes(buf_in, sizeof(buf_in), i->ip_ingress_bytes),
|
||||
format_bytes(buf_out, sizeof(buf_out), i->ip_egress_bytes));
|
||||
}
|
||||
|
||||
if (i->tasks_current != (uint64_t) -1) {
|
||||
printf(" Tasks: %" PRIu64, i->tasks_current);
|
||||
|
||||
|
@ -4484,6 +4495,10 @@ static int status_property(const char *name, sd_bus_message *m, UnitStatusInfo *
|
|||
i->next_elapse_monotonic = u;
|
||||
else if (streq(name, "NextElapseUSecRealtime"))
|
||||
i->next_elapse_real = u;
|
||||
else if (streq(name, "IPIngressBytes"))
|
||||
i->ip_ingress_bytes = u;
|
||||
else if (streq(name, "IPEgressBytes"))
|
||||
i->ip_egress_bytes = u;
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -4998,6 +5013,8 @@ static int show_one(
|
|||
.cpu_usage_nsec = (uint64_t) -1,
|
||||
.tasks_current = (uint64_t) -1,
|
||||
.tasks_max = (uint64_t) -1,
|
||||
.ip_ingress_bytes = (uint64_t) -1,
|
||||
.ip_egress_bytes = (uint64_t) -1,
|
||||
};
|
||||
int r;
|
||||
|
||||
|
|
Loading…
Reference in a new issue