[vmw_vc_svc_log] fixup for this format

Also, some optimizations for gantt index building
pull/1106/merge
Tim Stack 10 months ago
parent 8835f1ebea
commit 912171a43f

@ -6,10 +6,30 @@
"url": "https://docs.vmware.com/en/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/GUID-2A989D79-463C-4EC8-A5F2-CDC3A2C827FB.html",
"regex": {
"std": {
"pattern": "^(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z)\\s+(?<level>\\w+)\\s+(?<module>\\w+)\\s\\[(?<srcfile>[^:]+):(?<srcline>\\d+)\\](\\s+\\[opID=(?<opid>[^\\]]+)\\])?\\s+(?<body>.*)"
"pattern": "^(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{1,3}Z)\\s+(?<level>\\w+)\\s+(?<module>\\w+)\\s\\[(?<srcfile>[^:]+):(?<srcline>\\d+)\\](\\s+\\[opID=(?<opid>[^\\]]+)\\])?\\s+(?<body>.*)"
}
},
"opid-field": "opid",
"opid": {
"description": {
"vlcm-session": {
"format": [
{
"field": "body",
"extractor": "(Created session for .*)"
}
]
},
"vlcm-download": {
"format": [
{
"field": "body",
"extractor": "Validating the URL: .*(/[^/]+)"
}
]
}
}
},
"value": {
"body": {
"kind": "string"
@ -42,6 +62,10 @@
{
"line": "2022-06-02T08:35:17.031Z info vlcm [logger/teelogger.go:47] [opID=vapi] Loading Introspection Services",
"level": "info"
},
{
"line": "2023-07-19T03:05:15.97Z info vlcm [serviceconfig/config.go:377] Getting timeout properties for deployment type: tiny",
"level": "info"
}
]
}

@ -37,6 +37,7 @@
#include "base/humanize.time.hh"
#include "base/math_util.hh"
#include "command_executor.hh"
#include "intervaltree/IntervalTree.h"
#include "md4cpp.hh"
#include "sql_util.hh"
@ -252,7 +253,7 @@ gantt_header_overlay::list_value_for_overlay(
return;
}
const auto& row = this->gho_src->gs_time_order[line];
const auto& row = this->gho_src->gs_time_order[line].get();
if (row.or_value.otr_sub_ops.size() <= 1) {
return;
@ -348,10 +349,12 @@ gantt_source::get_time_bounds_for(int line)
static const int CONTEXT_LINES = 5;
const auto& low_row
= this->gs_time_order[std::max(0, line - CONTEXT_LINES)];
const auto& sel_row = this->gs_time_order[line];
const auto& high_row = this->gs_time_order[std::min(
line + CONTEXT_LINES, (int) this->gs_time_order.size() - 1)];
= this->gs_time_order[std::max(0, line - CONTEXT_LINES)].get();
const auto& sel_row = this->gs_time_order[line].get();
const auto& high_row
= this->gs_time_order[std::min(line + CONTEXT_LINES,
(int) this->gs_time_order.size() - 1)]
.get();
auto high_tv_sec = std::max(sel_row.or_value.otr_range.tr_end.tv_sec,
high_row.or_value.otr_range.tr_begin.tv_sec);
@ -393,7 +396,7 @@ gantt_source::text_value_for_line(textview_curses& tc,
text_sub_source::line_flags_t flags)
{
if (line < this->gs_time_order.size()) {
const auto& row = this->gs_time_order[line];
const auto& row = this->gs_time_order[line].get();
auto duration
= row.or_value.otr_range.tr_end - row.or_value.otr_range.tr_begin;
auto duration_str = fmt::format(
@ -432,7 +435,7 @@ gantt_source::text_attrs_for_line(textview_curses& tc,
string_attrs_t& value_out)
{
if (line < this->gs_time_order.size()) {
const auto& row = this->gs_time_order[line];
const auto& row = this->gs_time_order[line].get();
value_out = this->gs_rendered_line.get_attrs();
@ -509,6 +512,7 @@ gantt_source::rebuild_indexes()
this->gs_opid_width = 0;
this->gs_total_width = 0;
this->gs_filtered_count = 0;
this->gs_active_opids.clear();
this->gs_opid_map.clear();
this->gs_subid_map.clear();
this->gs_allocator.reset();
@ -520,7 +524,6 @@ gantt_source::rebuild_indexes()
auto max_desc_width = size_t{0};
std::map<string_fragment, opid_row> active_opids;
for (const auto& ld : this->gs_lss) {
if (ld->get_file_ptr() == nullptr) {
continue;
@ -543,9 +546,9 @@ gantt_source::rebuild_indexes()
iter = emp_res.first;
}
auto active_iter = active_opids.find(pair.first);
if (active_iter == active_opids.end()) {
auto active_emp_res = active_opids.emplace(
auto active_iter = this->gs_active_opids.find(pair.first);
if (active_iter == this->gs_active_opids.end()) {
auto active_emp_res = this->gs_active_opids.emplace(
iter->first, opid_row{iter->first, otr});
active_iter = active_emp_res.first;
} else {
@ -592,22 +595,6 @@ gantt_source::rebuild_indexes()
}
}
std::multimap<struct timeval, opid_row> time_order_map;
for (const auto& pair : active_opids) {
if (this->gs_lower_bound.tv_sec == 0
|| pair.second.or_value.otr_range.tr_begin < this->gs_lower_bound)
{
this->gs_lower_bound = pair.second.or_value.otr_range.tr_begin;
}
if (this->gs_upper_bound.tv_sec == 0
|| this->gs_upper_bound < pair.second.or_value.otr_range.tr_end)
{
this->gs_upper_bound = pair.second.or_value.otr_range.tr_end;
}
time_order_map.emplace(pair.second.or_value.otr_range.tr_begin,
pair.second);
}
this->gs_time_order.clear();
size_t filtered_in_count = 0;
for (const auto& filt : this->tss_filters) {
if (!filt->is_enabled()) {
@ -618,7 +605,9 @@ gantt_source::rebuild_indexes()
}
}
this->gs_filter_hits = {};
for (auto& pair : time_order_map) {
this->gs_time_order.clear();
this->gs_time_order.reserve(this->gs_active_opids.size());
for (auto& pair : this->gs_active_opids) {
auto& otr = pair.second.or_value;
auto& full_desc = pair.second.or_description;
for (auto& desc : pair.second.or_descriptions) {
@ -688,13 +677,31 @@ gantt_source::rebuild_indexes()
if (full_desc.size() > max_desc_width) {
max_desc_width = full_desc.size();
}
if (pair.second.or_value.otr_level_stats.lls_error_count > 0) {
bm_errs.insert_once(vis_line_t(this->gs_time_order.size()));
} else if (pair.second.or_value.otr_level_stats.lls_warning_count > 0) {
bm_warns.insert_once(vis_line_t(this->gs_time_order.size()));
if (this->gs_lower_bound.tv_sec == 0
|| pair.second.or_value.otr_range.tr_begin < this->gs_lower_bound)
{
this->gs_lower_bound = pair.second.or_value.otr_range.tr_begin;
}
this->gs_time_order.emplace_back(std::move(pair.second));
if (this->gs_upper_bound.tv_sec == 0
|| this->gs_upper_bound < pair.second.or_value.otr_range.tr_end)
{
this->gs_upper_bound = pair.second.or_value.otr_range.tr_end;
}
this->gs_time_order.emplace_back(pair.second);
}
std::stable_sort(this->gs_time_order.begin(),
this->gs_time_order.end(),
std::less<const opid_row>{});
for (size_t lpc = 0; lpc < this->gs_time_order.size(); lpc++) {
const auto& row = this->gs_time_order[lpc].get();
if (row.or_value.otr_level_stats.lls_error_count > 0) {
bm_errs.insert_once(vis_line_t(lpc));
} else if (row.or_value.otr_level_stats.lls_warning_count > 0) {
bm_warns.insert_once(vis_line_t(lpc));
}
}
this->gs_opid_width = std::min(this->gs_opid_width, MAX_OPID_WIDTH);
this->gs_total_width
= std::max<size_t>(22 + this->gs_opid_width + max_desc_width,
@ -712,29 +719,29 @@ gantt_source::row_for_time(struct timeval time_bucket)
return nonstd::nullopt;
}
if (iter->or_value.otr_range.contains_inclusive(time_bucket)) {
if (iter->get().or_value.otr_range.contains_inclusive(time_bucket)) {
break;
}
++iter;
}
auto closest_iter = iter;
auto closest_diff = time_bucket - iter->or_value.otr_range.tr_begin;
auto closest_diff = time_bucket - iter->get().or_value.otr_range.tr_begin;
for (; iter != this->gs_time_order.end(); ++iter) {
if (time_bucket < iter->or_value.otr_range.tr_begin) {
if (time_bucket < iter->get().or_value.otr_range.tr_begin) {
break;
}
if (!iter->or_value.otr_range.contains_inclusive(time_bucket)) {
if (!iter->get().or_value.otr_range.contains_inclusive(time_bucket)) {
continue;
}
auto diff = time_bucket - iter->or_value.otr_range.tr_begin;
auto diff = time_bucket - iter->get().or_value.otr_range.tr_begin;
if (diff < closest_diff) {
closest_iter = iter;
closest_diff = diff;
}
for (const auto& sub : iter->or_value.otr_sub_ops) {
for (const auto& sub : iter->get().or_value.otr_sub_ops) {
if (!sub.ostr_range.contains_inclusive(time_bucket)) {
continue;
}
@ -757,7 +764,7 @@ gantt_source::time_for_row(vis_line_t row)
return nonstd::nullopt;
}
const auto& otr = this->gs_time_order[row].or_value;
const auto& otr = this->gs_time_order[row].get().or_value;
if (this->tss_view->get_selection() == row) {
auto ov_sel = this->tss_view->get_overlay_selection();
@ -788,7 +795,7 @@ gantt_source::text_selection_changed(textview_curses& tc)
return;
}
const auto& row = this->gs_time_order[sel];
const auto& row = this->gs_time_order[sel].get();
auto low_tv = row.or_value.otr_range.tr_begin;
auto high_tv = row.or_value.otr_range.tr_end;
auto id_sf = row.or_name;
@ -923,7 +930,7 @@ gantt_source::text_crumbs_for_line(int line,
return;
}
const auto& row = this->gs_time_order[line];
const auto& row = this->gs_time_order[line].get();
char ts[64];
sql_strftime(ts, sizeof(ts), row.or_value.otr_range.tr_begin, 'T');

@ -112,12 +112,34 @@ public:
std::map<intern_string_t, std::map<size_t, std::string>>>
or_descriptions;
std::string or_description;
bool operator<(const opid_row& rhs) const
{
if (this->or_value.otr_range < rhs.or_value.otr_range) {
return true;
}
if (this->or_value.otr_range.tr_begin
== rhs.or_value.otr_range.tr_begin
&& this->or_name < rhs.or_name)
{
return true;
}
return false;
}
};
using gantt_opid_row_map
= robin_hood::unordered_map<string_fragment,
opid_row,
frag_hasher,
std::equal_to<string_fragment>>;
attr_line_t gs_rendered_line;
size_t gs_opid_width{0};
size_t gs_total_width{0};
std::vector<opid_row> gs_time_order;
gantt_opid_row_map gs_active_opids;
std::vector<std::reference_wrapper<opid_row>> gs_time_order;
struct timeval gs_lower_bound {};
struct timeval gs_upper_bound {};
size_t gs_filtered_count{0};

@ -1287,6 +1287,11 @@ external_log_format::scan(logfile& lf,
{
this->lf_date_time.relock(ls);
continue;
} else {
log_debug("%s:%d:date-time re-locked to %d",
lf.get_unique_path().c_str(),
dst.size(),
this->lf_date_time.dts_fmt_lock);
}
}

@ -393,18 +393,39 @@ ftime_q(char* dst, off_t& off_inout, ssize_t len, const struct exttm& tm)
inline bool
ptime_L(struct exttm* dst, const char* str, off_t& off_inout, ssize_t len)
{
auto avail = len - off_inout;
int ms = 0;
PTIME_CONSUME(3, {
char c0 = str[off_inout];
char c1 = str[off_inout + 1];
char c2 = str[off_inout + 2];
if (!isdigit(c0) || !isdigit(c1) || !isdigit(c2)) {
return false;
}
ms = ((str[off_inout] - '0') * 100 + (str[off_inout + 1] - '0') * 10
+ (str[off_inout + 2] - '0'));
});
if (avail >= 3 && isdigit(str[off_inout + 2])) {
PTIME_CONSUME(3, {
char c0 = str[off_inout];
char c1 = str[off_inout + 1];
char c2 = str[off_inout + 2];
if (!isdigit(c0) || !isdigit(c1) || !isdigit(c2)) {
return false;
}
ms = ((str[off_inout] - '0') * 100 + (str[off_inout + 1] - '0') * 10
+ (str[off_inout + 2] - '0'));
});
} else if (avail >= 2 && isdigit(str[off_inout + 1])) {
PTIME_CONSUME(2, {
char c0 = str[off_inout];
char c1 = str[off_inout + 1];
if (!isdigit(c0) || !isdigit(c1)) {
return false;
}
ms = ((str[off_inout] - '0') * 100
+ (str[off_inout + 1] - '0') * 10);
});
} else {
PTIME_CONSUME(1, {
char c0 = str[off_inout];
if (!isdigit(c0)) {
return false;
}
ms = (str[off_inout] - '0') * 100;
});
}
if ((ms >= 0 && ms <= 999)) {
dst->et_flags |= ETF_MILLIS_SET;

@ -2,31 +2,31 @@
5m
 Duration | ✘▲ | Operation
 844    CwFs1P2UcUdlSxD2La 192.168.2.76
     CoX7zA3OJKGUOSCBY2 192.168.2.76
     C6Q4Vm14ZJIlZhsXqk 192.168.2.76
     CoX7zA3OJKGUOSCBY2 192.168.2.76
     CdrfXZ1NOFPEawF218 192.168.2.76
     CJwUi9bdB9c1lLW44  192.168.2.76
     CJwUi9bdB9c1lLW44  192.168.2.76
     CJxSUgkInyKSHiju1  192.168.2.76
     CT0JIh479jXIGt0Po1 192.168.2.76
     C6Q4Vm14ZJIlZhsXqk 192.168.2.76
 1s070    CtgxRAqDLvrRUQdqe  192.168.2.76
     CdysLK1XpcrXOpVDuh 192.168.2.76
     CT0JIh479jXIGt0Po1 192.168.2.76
     CdysLK1XpcrXOpVDuh 192.168.2.76
 1s070    CtgxRAqDLvrRUQdqe  192.168.2.76
 200    C6nSoj1Qco9PGyslz6 192.168.2.76
 23s044    CN5hnY3x51j6Hr1v4 192.168.2.76
     CdZUPH2DKOE7zzCLE3 192.168.2.76
 32s388    CmWpC33jXuKpXNLcie 192.168.2.76
     CsBgiE1WmGP4Yo749h 192.168.2.76
 657    CYfHyC28tAhkLYkXB7 192.168.2.76
     CtANmVrHYMtkWqPE5  192.168.2.76
 647    CSTH8n1O1nv0ztxNQd 192.168.2.76
     C4uDKU5tpeRU9Su19  192.168.2.76
     C4uDKU5tpeRU9Su19  192.168.2.76
 647    CSTH8n1O1nv0ztxNQd 192.168.2.76
 657    CYfHyC28tAhkLYkXB7 192.168.2.76
     CtANmVrHYMtkWqPE5  192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
     CEh6Ka2HInkNSH01L2 192.168.2.76
 4s840    CjPGiy13ncXKxU765j 192.168.2.76
 4s840    CjPGiy13ncXKxU765j 192.168.2.76
 6s895    CPoz7NUpXISemlNSd  192.168.2.76
 6s837    Ct6ixh35y9AEr7J7o9 192.168.2.76
 6s837    Ct6ixh35y9AEr7J7o9 192.168.2.76
 6s889    CaEFHq2HVQ5iGJQiD9 192.168.2.76
 6s875    CjinlH2fzDtvzI9637 192.168.2.76
 6s875    CjinlH2fzDtvzI9637 192.168.2.76
 6s884    Cedw7H3ddE2yLiLoXc 192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
     CIJIDL1ULo4HpT24Gl 192.168.2.76
 016    CLsqp41RLUd83arUQb 192.168.2.76
 166    CbCciH11995WKkobR1 192.168.2.76
@ -51,17 +51,17 @@
  █  CBHHuR1xFnm5C5CQBc 192.168.2.76
     CD1jfU3p9abEm77mzf 192.168.2.76
     C0K9DaoPFkfnzwlZa 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 616    CbQAWi3GX2bCmX5L56 192.168.2.76
 298    Cd8s2R3OGDgkhnvSu9 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
     CmWpSw3VtjiAceBCwf 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
 1m11s547    CTRXSR3blXJE5ZE7Ij 192.168.2.76
 1m11s536    CnGze54kQWWpKqrrZ4 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
 1m11s547    CTRXSR3blXJE5ZE7Ij 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
 1m11s536    CnGze54kQWWpKqrrZ4 192.168.2.76
     CK957ERTz8lBycly4 192.168.2.76
 1s309    CO5QKYQkcSdxQFA35 192.168.2.76
     CurHpb1TGZOktTRNP1 192.168.2.76
@ -69,18 +69,18 @@
     C3xkHgJnzZszVSTpi 192.168.2.76
     CMrjgF2XLmRh9C9TR4 192.168.2.76
     C2vQ8sVgyADHjtEda 192.168.2.76
     CD69521bDXIAb4IkW 192.168.2.76
 6s648    CC3vUI3gFB04zLvWRa 192.168.2.76
     CD69521bDXIAb4IkW 192.168.2.76
 2s666    C7Krri4g9tZfHniGXh 192.168.2.76
     CmxyBl2c8XAMTuHEk4 192.168.2.76
 499    CSvs6v26bQqFylkk6l 192.168.2.76
     C4pHul1H3OeWYz7o7i 192.168.2.76
     C6MrHk2C7rLuJqhjsg 192.168.2.76
     C7Lcvr4vsTf6eYpBva 192.168.2.76
     CV8faD4L1sLL5kDwN9 192.168.2.76
     CxyAKs10ppnHFP6O8i 192.168.2.76
     C6MrHk2C7rLuJqhjsg 192.168.2.76
     CBX0254QJoklXNbvv2 192.168.2.76
     CV8faD4L1sLL5kDwN9 192.168.2.76
     CxyAKs10ppnHFP6O8i 192.168.2.76
     CvfUrT2DgYXXoZw9Ah 192.168.2.76
     CBX0254QJoklXNbvv2 192.168.2.76
     C6Ym6jvMgikT0xTTc 192.168.2.76
     CRNn9f1zKNlzHSM5pa 192.168.2.76
     CJLgi92kpp2gLgGTE5 192.168.2.76
     CJLgi92kpp2gLgGTE5 192.168.2.76
     CRNn9f1zKNlzHSM5pa 192.168.2.76

@ -2,30 +2,30 @@
5m
 Duration | ✘▲ | Operation
 844    CwFs1P2UcUdlSxD2La 192.168.2.76
     CoX7zA3OJKGUOSCBY2 192.168.2.76
     C6Q4Vm14ZJIlZhsXqk 192.168.2.76
     CoX7zA3OJKGUOSCBY2 192.168.2.76
     CdrfXZ1NOFPEawF218 192.168.2.76
     CJwUi9bdB9c1lLW44  192.168.2.76
     CJwUi9bdB9c1lLW44  192.168.2.76
     CJxSUgkInyKSHiju1  192.168.2.76
     CT0JIh479jXIGt0Po1 192.168.2.76
     C6Q4Vm14ZJIlZhsXqk 192.168.2.76
     CT0JIh479jXIGt0Po1 192.168.2.76
 1s070    CtgxRAqDLvrRUQdqe  192.168.2.76
 200    C6nSoj1Qco9PGyslz6 192.168.2.76
 23s044    CN5hnY3x51j6Hr1v4 192.168.2.76
     CdZUPH2DKOE7zzCLE3 192.168.2.76
 32s388    CmWpC33jXuKpXNLcie 192.168.2.76
     CsBgiE1WmGP4Yo749h 192.168.2.76
 657    CYfHyC28tAhkLYkXB7 192.168.2.76
     CtANmVrHYMtkWqPE5  192.168.2.76
 647    CSTH8n1O1nv0ztxNQd 192.168.2.76
     C4uDKU5tpeRU9Su19  192.168.2.76
     CEh6Ka2HInkNSH01L2 192.168.2.76
 647    CSTH8n1O1nv0ztxNQd 192.168.2.76
 657    CYfHyC28tAhkLYkXB7 192.168.2.76
     CtANmVrHYMtkWqPE5  192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
     CEh6Ka2HInkNSH01L2 192.168.2.76
 4s840    CjPGiy13ncXKxU765j 192.168.2.76
 6s895    CPoz7NUpXISemlNSd  192.168.2.76
 6s895    CPoz7NUpXISemlNSd  192.168.2.76
 6s837    Ct6ixh35y9AEr7J7o9 192.168.2.76
 6s889    CaEFHq2HVQ5iGJQiD9 192.168.2.76
 6s889    CaEFHq2HVQ5iGJQiD9 192.168.2.76
 6s875    CjinlH2fzDtvzI9637 192.168.2.76
 6s884    Cedw7H3ddE2yLiLoXc 192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
 6s884    Cedw7H3ddE2yLiLoXc 192.168.2.76
     CIJIDL1ULo4HpT24Gl 192.168.2.76
 016    CLsqp41RLUd83arUQb 192.168.2.76
 166    CbCciH11995WKkobR1 192.168.2.76
@ -50,17 +50,17 @@
  █  CBHHuR1xFnm5C5CQBc 192.168.2.76
     CD1jfU3p9abEm77mzf 192.168.2.76
     C0K9DaoPFkfnzwlZa 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 616    CbQAWi3GX2bCmX5L56 192.168.2.76
 298    Cd8s2R3OGDgkhnvSu9 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
     CmWpSw3VtjiAceBCwf 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
     CmWpSw3VtjiAceBCwf 192.168.2.76
 1m11s547    CTRXSR3blXJE5ZE7Ij 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
 1m11s536    CnGze54kQWWpKqrrZ4 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
     CK957ERTz8lBycly4 192.168.2.76
 1s309    CO5QKYQkcSdxQFA35 192.168.2.76
     CurHpb1TGZOktTRNP1 192.168.2.76
@ -68,18 +68,18 @@
     C3xkHgJnzZszVSTpi 192.168.2.76
     CMrjgF2XLmRh9C9TR4 192.168.2.76
     C2vQ8sVgyADHjtEda 192.168.2.76
     CD69521bDXIAb4IkW 192.168.2.76
 6s648    CC3vUI3gFB04zLvWRa 192.168.2.76
 6s648    CC3vUI3gFB04zLvWRa 192.168.2.76
     CD69521bDXIAb4IkW 192.168.2.76
 2s666    C7Krri4g9tZfHniGXh 192.168.2.76
     CmxyBl2c8XAMTuHEk4 192.168.2.76
 499    CSvs6v26bQqFylkk6l 192.168.2.76
     C4pHul1H3OeWYz7o7i 192.168.2.76
     C7Lcvr4vsTf6eYpBva 192.168.2.76
     CV8faD4L1sLL5kDwN9 192.168.2.76
     CxyAKs10ppnHFP6O8i 192.168.2.76
     C6MrHk2C7rLuJqhjsg 192.168.2.76
     CvfUrT2DgYXXoZw9Ah 192.168.2.76
     C7Lcvr4vsTf6eYpBva 192.168.2.76
     CBX0254QJoklXNbvv2 192.168.2.76
     CV8faD4L1sLL5kDwN9 192.168.2.76
     CxyAKs10ppnHFP6O8i 192.168.2.76
     CvfUrT2DgYXXoZw9Ah 192.168.2.76
     C6Ym6jvMgikT0xTTc 192.168.2.76
     CRNn9f1zKNlzHSM5pa 192.168.2.76
     CJLgi92kpp2gLgGTE5 192.168.2.76
     CRNn9f1zKNlzHSM5pa 192.168.2.76

@ -3,14 +3,14 @@
 Duration | ✘▲ | Operation
 23s044    CN5hnY3x51j6Hr1v4 192.168.2.76
 32s388    CmWpC33jXuKpXNLcie 192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
     CEh6Ka2HInkNSH01L2 192.168.2.76
 4s840    CjPGiy13ncXKxU765j 192.168.2.76
 4s840    CjPGiy13ncXKxU765j 192.168.2.76
 6s895    CPoz7NUpXISemlNSd  192.168.2.76
 6s837    Ct6ixh35y9AEr7J7o9 192.168.2.76
 6s837    Ct6ixh35y9AEr7J7o9 192.168.2.76
 6s889    CaEFHq2HVQ5iGJQiD9 192.168.2.76
 6s875    CjinlH2fzDtvzI9637 192.168.2.76
 6s875    CjinlH2fzDtvzI9637 192.168.2.76
 6s884    Cedw7H3ddE2yLiLoXc 192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
     CIJIDL1ULo4HpT24Gl 192.168.2.76
 016    CLsqp41RLUd83arUQb 192.168.2.76
 166    CbCciH11995WKkobR1 192.168.2.76
@ -35,17 +35,17 @@
  █  CBHHuR1xFnm5C5CQBc 192.168.2.76
     CD1jfU3p9abEm77mzf 192.168.2.76
     C0K9DaoPFkfnzwlZa 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 616    CbQAWi3GX2bCmX5L56 192.168.2.76
 298    Cd8s2R3OGDgkhnvSu9 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
     CmWpSw3VtjiAceBCwf 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
 1m11s547    CTRXSR3blXJE5ZE7Ij 192.168.2.76
 1m11s536    CnGze54kQWWpKqrrZ4 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
 1m11s547    CTRXSR3blXJE5ZE7Ij 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
 1m11s536    CnGze54kQWWpKqrrZ4 192.168.2.76
     CK957ERTz8lBycly4 192.168.2.76
 1s309    CO5QKYQkcSdxQFA35 192.168.2.76
     CurHpb1TGZOktTRNP1 192.168.2.76
@ -53,18 +53,18 @@
     C3xkHgJnzZszVSTpi 192.168.2.76
     CMrjgF2XLmRh9C9TR4 192.168.2.76
     C2vQ8sVgyADHjtEda 192.168.2.76
     CD69521bDXIAb4IkW 192.168.2.76
 6s648    CC3vUI3gFB04zLvWRa 192.168.2.76
     CD69521bDXIAb4IkW 192.168.2.76
 2s666    C7Krri4g9tZfHniGXh 192.168.2.76
     CmxyBl2c8XAMTuHEk4 192.168.2.76
 499    CSvs6v26bQqFylkk6l 192.168.2.76
     C4pHul1H3OeWYz7o7i 192.168.2.76
     C6MrHk2C7rLuJqhjsg 192.168.2.76
     C7Lcvr4vsTf6eYpBva 192.168.2.76
     CV8faD4L1sLL5kDwN9 192.168.2.76
     CxyAKs10ppnHFP6O8i 192.168.2.76
     C6MrHk2C7rLuJqhjsg 192.168.2.76
     CBX0254QJoklXNbvv2 192.168.2.76
     CV8faD4L1sLL5kDwN9 192.168.2.76
     CxyAKs10ppnHFP6O8i 192.168.2.76
     CvfUrT2DgYXXoZw9Ah 192.168.2.76
     CBX0254QJoklXNbvv2 192.168.2.76
     C6Ym6jvMgikT0xTTc 192.168.2.76
     CRNn9f1zKNlzHSM5pa 192.168.2.76
     CJLgi92kpp2gLgGTE5 192.168.2.76
     CJLgi92kpp2gLgGTE5 192.168.2.76
     CRNn9f1zKNlzHSM5pa 192.168.2.76

@ -2,31 +2,31 @@
5m
 Duration | ✘▲ | Operation
 844    CwFs1P2UcUdlSxD2La 192.168.2.76
     CoX7zA3OJKGUOSCBY2 192.168.2.76
     C6Q4Vm14ZJIlZhsXqk 192.168.2.76
     CoX7zA3OJKGUOSCBY2 192.168.2.76
     CdrfXZ1NOFPEawF218 192.168.2.76
     CJwUi9bdB9c1lLW44  192.168.2.76
     CJwUi9bdB9c1lLW44  192.168.2.76
     CJxSUgkInyKSHiju1  192.168.2.76
     CT0JIh479jXIGt0Po1 192.168.2.76
     C6Q4Vm14ZJIlZhsXqk 192.168.2.76
 1s070    CtgxRAqDLvrRUQdqe  192.168.2.76
     CdysLK1XpcrXOpVDuh 192.168.2.76
     CT0JIh479jXIGt0Po1 192.168.2.76
     CdysLK1XpcrXOpVDuh 192.168.2.76
 1s070    CtgxRAqDLvrRUQdqe  192.168.2.76
 200    C6nSoj1Qco9PGyslz6 192.168.2.76
 23s044    CN5hnY3x51j6Hr1v4 192.168.2.76
     CdZUPH2DKOE7zzCLE3 192.168.2.76
 32s388    CmWpC33jXuKpXNLcie 192.168.2.76
     CsBgiE1WmGP4Yo749h 192.168.2.76
 657    CYfHyC28tAhkLYkXB7 192.168.2.76
     CtANmVrHYMtkWqPE5  192.168.2.76
 647    CSTH8n1O1nv0ztxNQd 192.168.2.76
     C4uDKU5tpeRU9Su19  192.168.2.76
     C4uDKU5tpeRU9Su19  192.168.2.76
 647    CSTH8n1O1nv0ztxNQd 192.168.2.76
 657    CYfHyC28tAhkLYkXB7 192.168.2.76
     CtANmVrHYMtkWqPE5  192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
     CEh6Ka2HInkNSH01L2 192.168.2.76
 4s840    CjPGiy13ncXKxU765j 192.168.2.76
 4s840    CjPGiy13ncXKxU765j 192.168.2.76
 6s895    CPoz7NUpXISemlNSd  192.168.2.76
 6s837    Ct6ixh35y9AEr7J7o9 192.168.2.76
 6s837    Ct6ixh35y9AEr7J7o9 192.168.2.76
 6s889    CaEFHq2HVQ5iGJQiD9 192.168.2.76
 6s875    CjinlH2fzDtvzI9637 192.168.2.76
 6s875    CjinlH2fzDtvzI9637 192.168.2.76
 6s884    Cedw7H3ddE2yLiLoXc 192.168.2.76
 6s917    CAUlC249svUfE6q0g3 192.168.2.76
     CIJIDL1ULo4HpT24Gl 192.168.2.76
 016    CLsqp41RLUd83arUQb 192.168.2.76
 166    CbCciH11995WKkobR1 192.168.2.76
@ -51,17 +51,17 @@
  █  CBHHuR1xFnm5C5CQBc 192.168.2.76
     CD1jfU3p9abEm77mzf 192.168.2.76
     C0K9DaoPFkfnzwlZa 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 616    CbQAWi3GX2bCmX5L56 192.168.2.76
 298    Cd8s2R3OGDgkhnvSu9 192.168.2.76
 205    CBeaXe4Iyj1gXd2Iq 192.168.2.76
     CmWpSw3VtjiAceBCwf 192.168.2.76
 1m12s201    CbNCgO1MzloHRNeY4f 192.168.2.76
 315    CX1GjC4vn52UY1uDv6 192.168.2.76
     CaPClb1Bf0RrRGtyWi 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
 1m11s547    CTRXSR3blXJE5ZE7Ij 192.168.2.76
 1m11s536    CnGze54kQWWpKqrrZ4 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
 1m11s547    CTRXSR3blXJE5ZE7Ij 192.168.2.76
 12s337    C3TZMB4CrUwYfkGJy1 192.168.2.76
 35s642    CibfNy1QQW4ImDWRq5 192.168.2.76
 1m11s536    CnGze54kQWWpKqrrZ4 192.168.2.76
     CK957ERTz8lBycly4 192.168.2.76
 1s309    CO5QKYQkcSdxQFA35 192.168.2.76
     CurHpb1TGZOktTRNP1 192.168.2.76

Loading…
Cancel
Save