1
1
mirror of https://github.com/tstack/lnav.git synced 2024-08-17 08:50:41 +03:00

[all_logs] add log_msg_value column

This commit is contained in:
Tim Stack 2024-01-25 20:53:01 -08:00
parent 2e9aff58fc
commit 272bb8d840
70 changed files with 89169 additions and 57585 deletions

View File

@ -116,9 +116,12 @@ Features:
the desired file. the desired file.
* Binary files are now displayed as a hex dump with ASCII * Binary files are now displayed as a hex dump with ASCII
representation (where applicable). representation (where applicable).
* Added a `log_msg_line()` function that will return the * Added a `log_msg_line()` SQL function that will return the
line number of the start of the currently focused line number of the start of the currently focused
message in the log view. message in the log view.
* Added a `log_msg_values` column to the `all_logs` SQL
table that contains a JSON object with the top 5 values
for the fields extracted from the log message.
Bug Fixes: Bug Fixes:
* Binary data piped into stdin should now be treated the same * Binary data piped into stdin should now be treated the same

View File

@ -32,6 +32,7 @@
#include "base/attr_line.hh" #include "base/attr_line.hh"
#include "config.h" #include "config.h"
#include "data_parser.hh" #include "data_parser.hh"
#include "elem_to_json.hh"
static auto intern_lifetime = intern_string::get_table_lifetime(); static auto intern_lifetime = intern_string::get_table_lifetime();
@ -42,7 +43,10 @@ all_logs_vtab::all_logs_vtab()
logline_value_meta::table_column{0}), logline_value_meta::table_column{0}),
alv_schema_meta(intern_string::lookup("log_msg_schema"), alv_schema_meta(intern_string::lookup("log_msg_schema"),
value_kind_t::VALUE_TEXT, value_kind_t::VALUE_TEXT,
logline_value_meta::table_column{1}) logline_value_meta::table_column{1}),
alv_values_meta(intern_string::lookup("log_msg_values"),
value_kind_t::VALUE_JSON,
logline_value_meta::table_column{2})
{ {
this->alv_msg_meta.lvm_identifier = true; this->alv_msg_meta.lvm_identifier = true;
this->alv_schema_meta.lvm_identifier = true; this->alv_schema_meta.lvm_identifier = true;
@ -60,6 +64,11 @@ all_logs_vtab::get_columns(std::vector<vtab_column>& cols) const
"", "",
true, true,
"The ID for the message schema"); "The ID for the message schema");
cols.emplace_back(this->alv_values_meta.lvm_name.get(),
SQLITE3_TEXT,
"",
false,
"The values extracted from the message");
} }
void void
@ -90,9 +99,17 @@ all_logs_vtab::extract(logfile* lf,
dp.dp_msg_format = &str; dp.dp_msg_format = &str;
dp.parse(); dp.parse();
yajlpp_gen gen;
yajl_gen_config(gen, yajl_gen_beautify, false);
elements_to_json(gen, dp, &dp.dp_pairs);
values.lvv_values.emplace_back(this->alv_msg_meta, std::move(str)); values.lvv_values.emplace_back(this->alv_msg_meta, std::move(str));
values.lvv_values.emplace_back(this->alv_schema_meta, values.lvv_values.emplace_back(this->alv_schema_meta,
dp.dp_schema_id.to_string()); dp.dp_schema_id.to_string());
values.lvv_values.emplace_back(
this->alv_values_meta,
json_string(gen).to_string_fragment().to_string());
values.lvv_opid_value = std::move(sub_values.lvv_opid_value); values.lvv_opid_value = std::move(sub_values.lvv_opid_value);
} }

View File

@ -54,6 +54,7 @@ public:
private: private:
logline_value_meta alv_msg_meta; logline_value_meta alv_msg_meta;
logline_value_meta alv_schema_meta; logline_value_meta alv_schema_meta;
logline_value_meta alv_values_meta;
}; };
#endif // LNAV_ALL_LOGS_VTAB_HH #endif // LNAV_ALL_LOGS_VTAB_HH

View File

@ -34,6 +34,7 @@
data_format data_parser::FORMAT_SEMI("semi", DT_COMMA, DT_SEMI); data_format data_parser::FORMAT_SEMI("semi", DT_COMMA, DT_SEMI);
data_format data_parser::FORMAT_COMMA("comma", DT_INVALID, DT_COMMA); data_format data_parser::FORMAT_COMMA("comma", DT_INVALID, DT_COMMA);
data_format data_parser::FORMAT_EMDASH("emdash", DT_INVALID, DT_EMDASH);
data_format data_parser::FORMAT_PLAIN("plain", DT_INVALID, DT_INVALID); data_format data_parser::FORMAT_PLAIN("plain", DT_INVALID, DT_INVALID);
data_parser::data_parser(data_scanner* ds) data_parser::data_parser(data_scanner* ds)
@ -77,12 +78,13 @@ data_parser::pairup(data_parser::schema_id_t* schema,
if (in_list.el_format.df_prefix_terminator != DT_INVALID) { if (in_list.el_format.df_prefix_terminator != DT_INVALID) {
if (iter->e_token == in_list.el_format.df_prefix_terminator) { if (iter->e_token == in_list.el_format.df_prefix_terminator) {
in_list.el_format.df_prefix_terminator = DT_INVALID; in_list.el_format.df_prefix_terminator = DT_INVALID;
in_list.el_format.df_separator = DT_COLON;
} else { } else {
el_stack.PUSH_BACK(*iter); el_stack.PUSH_BACK(*iter);
} }
} else if (iter->e_token == in_list.el_format.df_terminator) { } else if (iter->e_token == in_list.el_format.df_terminator) {
this->end_of_value( this->end_of_value(
el_stack, key_comps, value, in_list, group_depth); el_stack, key_comps, value, in_list, group_depth, iter);
key_comps.PUSH_BACK(*iter); key_comps.PUSH_BACK(*iter);
} else if (iter->e_token == in_list.el_format.df_qualifier) { } else if (iter->e_token == in_list.el_format.df_qualifier) {
@ -92,9 +94,17 @@ data_parser::pairup(data_parser::schema_id_t* schema,
if (!value.empty()) { if (!value.empty()) {
el_stack.PUSH_BACK(element(value, DNT_VALUE)); el_stack.PUSH_BACK(element(value, DNT_VALUE));
} }
} else if (iter->e_token == in_list.el_format.df_separator) { value.CLEAR();
} else if (iter->e_token == in_list.el_format.df_separator
|| iter->e_token == DNT_GROUP)
{
auto key_iter = key_comps.end(); auto key_iter = key_comps.end();
bool found = false, key_is_values = true, mixed_values = false; bool found = false, key_is_values = true, mixed_values = false;
auto last_is_key = !key_comps.empty()
&& (key_comps.back().e_token == DT_WORD
|| key_comps.back().e_token == DT_SYMBOL);
element_list_t ELEMENT_LIST_T(mixed_queue),
ELEMENT_LIST_T(mixed_tail);
if (!key_comps.empty()) { if (!key_comps.empty()) {
do { do {
@ -105,7 +115,9 @@ data_parser::pairup(data_parser::schema_id_t* schema,
key_comps, key_comps,
key_comps.begin(), key_comps.begin(),
key_iter); key_iter);
key_comps.POP_FRONT(); if (!key_comps.empty()) {
key_comps.POP_FRONT();
}
found = true; found = true;
} else if (key_iter->e_token } else if (key_iter->e_token
== in_list.el_format.df_terminator) == in_list.el_format.df_terminator)
@ -133,6 +145,7 @@ data_parser::pairup(data_parser::schema_id_t* schema,
break; break;
case DT_WHITE: case DT_WHITE:
break; break;
case DT_ID:
case DT_QUOTED_STRING: case DT_QUOTED_STRING:
case DT_URL: case DT_URL:
case DT_PATH: case DT_PATH:
@ -151,26 +164,76 @@ data_parser::pairup(data_parser::schema_id_t* schema,
case DT_NUMBER: case DT_NUMBER:
case DT_HEX_NUMBER: case DT_HEX_NUMBER:
case DT_EMAIL: case DT_EMAIL:
case DT_CONSTANT: { case DT_CONSTANT:
if (in_list.el_format.df_terminator case DNT_MEASUREMENT: {
== DT_INVALID) if (((in_list.el_format.df_terminator
!= DT_INVALID
&& !el_stack.empty())
|| (key_comps.size() == 1
&& mixed_queue.empty()))
&& key_iter->e_token == DT_ID)
{ {
element_list_t ELEMENT_LIST_T(key_value); key_is_values = false;
} else if (in_list.el_format.df_terminator
== DT_INVALID
|| el_stack.empty())
{
element_list_t ELEMENT_LIST_T(mixed_key);
element_list_t ELEMENT_LIST_T(mixed_value);
mixed_values = true; mixed_values = true;
auto value_iter = key_iter; auto value_iter = key_iter;
++key_iter; if (last_is_key) {
key_value.SPLICE(key_value.end(), if (mixed_tail.empty()) {
key_comps, mixed_tail.SPLICE(
value_iter, mixed_tail.end(),
key_iter); key_comps,
if (key_comps.empty()) { std::next(value_iter),
key_iter = key_comps.end(); key_comps.end());
}
} else { } else {
key_iter = key_comps.begin(); while (std::prev(key_comps.end())
!= value_iter)
{
key_comps.POP_BACK();
}
} }
el_stack.PUSH_BACK( key_iter = std::next(value_iter);
element(key_value, DNT_VALUE)); mixed_value.SPLICE(mixed_value.end(),
key_comps,
value_iter,
key_iter);
if (!el_stack.empty()
&& el_stack.back().e_token == DNT_KEY
&& key_comps.empty())
{
el_stack.PUSH_BACK(
element(mixed_value, DNT_VALUE));
} else {
mixed_queue.PUSH_FRONT(
element(mixed_value, DNT_VALUE));
if (!key_comps.empty()) {
if (key_comps.back().e_token
== DT_WORD)
{
key_iter = std::prev(
key_comps.end());
mixed_key.SPLICE(
mixed_key.end(),
key_comps,
key_iter,
key_comps.end());
mixed_queue.PUSH_FRONT(element(
mixed_key, DNT_KEY));
}
}
}
while (!key_comps.empty()
&& !key_comps.back().is_value())
{
key_comps.POP_BACK();
}
key_iter = key_comps.end();
} }
break; break;
} }
@ -180,6 +243,24 @@ data_parser::pairup(data_parser::schema_id_t* schema,
} }
} while (key_iter != key_comps.begin() && !found); } while (key_iter != key_comps.begin() && !found);
} }
if (!mixed_queue.empty()) {
if (el_stack.back().e_token == DNT_KEY
&& mixed_queue.front().e_token == DNT_KEY)
{
el_stack.POP_BACK();
}
el_stack.SPLICE(el_stack.end(),
mixed_queue,
mixed_queue.begin(),
mixed_queue.end());
}
if (!mixed_tail.empty()) {
key_comps.CLEAR();
key_comps.SPLICE(key_comps.end(),
mixed_tail,
std::prev(mixed_tail.end()),
mixed_tail.end());
}
if (!found && !mixed_values && !el_stack.empty() if (!found && !mixed_values && !el_stack.empty()
&& !key_comps.empty()) && !key_comps.empty())
{ {
@ -216,15 +297,25 @@ data_parser::pairup(data_parser::schema_id_t* schema,
key_comps.POP_FRONT(); key_comps.POP_FRONT();
} }
} }
if (key_is_values) { if (!key_comps.empty()) {
el_stack.PUSH_BACK(element(key_comps, DNT_VALUE)); if (key_is_values) {
} else { el_stack.PUSH_BACK(element(key_comps, DNT_VALUE));
el_stack.PUSH_BACK(element(key_comps, DNT_KEY, false)); } else {
el_stack.PUSH_BACK(element(key_comps, DNT_KEY, false));
}
} }
} }
key_comps.CLEAR(); key_comps.CLEAR();
value.CLEAR(); value.CLEAR();
} else {
if (iter->e_token == DNT_GROUP) {
value.PUSH_BACK(*iter);
el_stack.PUSH_BACK(element(value, DNT_VALUE));
value.CLEAR();
}
} else if (iter->e_token != DT_WHITE && iter->e_token != DT_CSI
&& iter->e_token != DT_LINE)
{
key_comps.PUSH_BACK(*iter); key_comps.PUSH_BACK(*iter);
} }
@ -241,7 +332,8 @@ data_parser::pairup(data_parser::schema_id_t* schema,
free_row.SPLICE( free_row.SPLICE(
free_row.begin(), key_comps, key_comps.begin(), key_comps.end()); free_row.begin(), key_comps, key_comps.begin(), key_comps.end());
} else { } else {
this->end_of_value(el_stack, key_comps, value, in_list, group_depth); this->end_of_value(
el_stack, key_comps, value, in_list, group_depth, in_list.end());
} }
POINT_TRACE("pairup_stack"); POINT_TRACE("pairup_stack");
@ -373,6 +465,7 @@ data_parser::pairup(data_parser::schema_id_t* schema,
case DT_CONSTANT: case DT_CONSTANT:
case DT_NUMBER: case DT_NUMBER:
case DT_SYMBOL: case DT_SYMBOL:
case DT_ID:
case DT_HEX_NUMBER: case DT_HEX_NUMBER:
case DT_OCTAL_NUMBER: case DT_OCTAL_NUMBER:
case DT_VERSION_NUMBER: case DT_VERSION_NUMBER:
@ -390,7 +483,8 @@ data_parser::pairup(data_parser::schema_id_t* schema,
case DT_PATH: case DT_PATH:
case DT_DATE: case DT_DATE:
case DT_TIME: case DT_TIME:
case DT_PERCENTAGE: { case DT_PERCENTAGE:
case DNT_MEASUREMENT: {
element_list_t ELEMENT_LIST_T(pair_subs); element_list_t ELEMENT_LIST_T(pair_subs);
struct element blank; struct element blank;
@ -414,7 +508,8 @@ data_parser::pairup(data_parser::schema_id_t* schema,
= this->get_element_string(free_row.front(), key_len); = this->get_element_string(free_row.front(), key_len);
context.Update(key_val, key_len); context.Update(key_val, key_len);
} break; break;
}
} }
free_row.POP_FRONT(); free_row.POP_FRONT();
@ -433,10 +528,6 @@ data_parser::pairup(data_parser::schema_id_t* schema,
pairs_out.PUSH_FRONT(element(pair_subs, DNT_PAIR)); pairs_out.PUSH_FRONT(element(pair_subs, DNT_PAIR));
} }
if (schema != nullptr) {
context.Final(schema->out(0), schema->out(1));
}
if (schema != nullptr && this->dp_msg_format != nullptr) { if (schema != nullptr && this->dp_msg_format != nullptr) {
for (auto& fiter : pairs_out) { for (auto& fiter : pairs_out) {
*(this->dp_msg_format) += this->get_string_up_to_value(fiter); *(this->dp_msg_format) += this->get_string_up_to_value(fiter);
@ -456,6 +547,12 @@ data_parser::pairup(data_parser::schema_id_t* schema,
} }
*(this->dp_msg_format) += last.to_string(); *(this->dp_msg_format) += last.to_string();
} }
context.Update(this->dp_msg_format->c_str(),
this->dp_msg_format->length());
}
if (schema != nullptr) {
context.Final(schema->out(0), schema->out(1));
} }
if (pairs_out.size() > 1000) { if (pairs_out.size() > 1000) {
@ -544,6 +641,20 @@ data_parser::discover_format()
} }
break; break;
case DT_UNIT: {
element_list_t measurement_list;
measurement_list.SPLICE(
measurement_list.end(),
this->dp_group_stack.back(),
std::prev(this->dp_group_stack.back().end()),
this->dp_group_stack.back().end());
measurement_list.PUSH_BACK(elem);
this->dp_group_stack.back().PUSH_BACK(
element(measurement_list, DNT_MEASUREMENT));
break;
}
default: default:
this->dp_group_stack.back().PUSH_BACK(elem); this->dp_group_stack.back().PUSH_BACK(elem);
break; break;
@ -574,67 +685,212 @@ data_parser::end_of_value(data_parser::element_list_t& el_stack,
data_parser::element_list_t& key_comps, data_parser::element_list_t& key_comps,
data_parser::element_list_t& value, data_parser::element_list_t& value,
const data_parser::element_list_t& in_list, const data_parser::element_list_t& in_list,
int group_depth) int group_depth,
element_list_t::iterator iter)
{ {
key_comps.remove_if(element_if(in_list.el_format.df_terminator)); auto key_iter = key_comps.end();
key_comps.remove_if(element_if(DT_COMMA)); bool found = false, key_is_values = true, mixed_values = false;
value.remove_if(element_if(in_list.el_format.df_terminator)); auto last_is_key = !key_comps.empty()
value.remove_if(element_if(DT_COMMA)); && (key_comps.back().e_token == DT_WORD
strip(key_comps, element_is_space{}); || key_comps.back().e_token == DT_SYMBOL);
strip(value, element_is_space{}); element_list_t ELEMENT_LIST_T(mixed_queue), ELEMENT_LIST_T(mixed_tail);
if ((el_stack.empty() || el_stack.back().e_token != DNT_KEY)
&& value.empty() && key_comps.size() > 1 if (!key_comps.empty()) {
&& (key_comps.front().e_token == DT_WORD do {
|| key_comps.front().e_token == DT_SYMBOL)) --key_iter;
{ if (key_iter->e_token == in_list.el_format.df_appender) {
element_list_t::iterator key_iter, key_end; ++key_iter;
bool found_value = false; value.SPLICE(
int word_count = 0; value.end(), key_comps, key_comps.begin(), key_iter);
key_iter = key_comps.begin(); if (!key_comps.empty()) {
key_end = key_comps.begin(); key_comps.POP_FRONT();
for (; key_iter != key_comps.end(); ++key_iter) {
if (key_iter->e_token == DT_WORD || key_iter->e_token == DT_SYMBOL)
{
word_count += 1;
if (found_value) {
key_end = key_comps.begin();
} }
} else if (key_iter->e_token == DT_WHITE found = true;
|| key_iter->e_token == DT_CSI) } else if (key_iter->e_token == in_list.el_format.df_terminator) {
{ value.SPLICE(
} else { value.end(), key_comps, key_comps.begin(), key_iter);
if (!found_value) { key_comps.POP_FRONT();
key_end = key_iter; strip(key_comps, element_is_space{});
if (key_comps.empty()) {
key_iter = key_comps.end();
} else {
key_iter = key_comps.begin();
} }
found_value = true; found = true;
} }
if (!found && key_iter != key_comps.end()) {
switch (key_iter->e_token) {
case DT_WORD:
case DT_SYMBOL:
key_is_values = false;
break;
case DT_WHITE:
break;
case DT_ID:
case DT_QUOTED_STRING:
case DT_URL:
case DT_PATH:
case DT_MAC_ADDRESS:
case DT_DATE:
case DT_TIME:
case DT_DATE_TIME:
case DT_IPV4_ADDRESS:
case DT_IPV6_ADDRESS:
case DT_HEX_DUMP:
case DT_UUID:
case DT_CREDIT_CARD_NUMBER:
case DT_VERSION_NUMBER:
case DT_OCTAL_NUMBER:
case DT_PERCENTAGE:
case DT_NUMBER:
case DT_HEX_NUMBER:
case DT_EMAIL:
case DT_CONSTANT:
case DNT_MEASUREMENT: {
if (((in_list.el_format.df_terminator != DT_INVALID
&& !el_stack.empty())
|| (key_comps.size() == 1 && mixed_queue.empty()))
&& key_iter->e_token == DT_ID)
{
key_is_values = false;
} else if (in_list.el_format.df_terminator == DT_INVALID
|| el_stack.empty())
{
element_list_t ELEMENT_LIST_T(mixed_key);
element_list_t ELEMENT_LIST_T(mixed_value);
mixed_values = true;
auto value_iter = key_iter;
if (last_is_key) {
if (mixed_tail.empty()) {
mixed_tail.SPLICE(mixed_tail.end(),
key_comps,
std::next(value_iter),
key_comps.end());
}
} else {
while (std::prev(key_comps.end()) != value_iter)
{
key_comps.POP_BACK();
}
}
key_iter = std::next(value_iter);
mixed_value.SPLICE(mixed_value.end(),
key_comps,
value_iter,
key_iter);
if (!el_stack.empty()
&& el_stack.back().e_token == DNT_KEY
&& key_comps.empty())
{
el_stack.PUSH_BACK(
element(mixed_value, DNT_VALUE));
} else {
mixed_queue.PUSH_FRONT(
element(mixed_value, DNT_VALUE));
if (!key_comps.empty()) {
if (key_comps.back().e_token == DT_WORD) {
key_iter = std::prev(key_comps.end());
mixed_key.SPLICE(mixed_key.end(),
key_comps,
key_iter,
key_comps.end());
mixed_queue.PUSH_FRONT(
element(mixed_key, DNT_KEY));
}
}
}
while (!key_comps.empty()
&& !key_comps.back().is_value())
{
key_comps.POP_BACK();
}
key_iter = key_comps.end();
}
break;
}
default:
break;
}
}
} while (key_iter != key_comps.begin() && !found);
}
if (!mixed_queue.empty()) {
if (el_stack.back().e_token == DNT_KEY
&& mixed_queue.front().e_token == DNT_KEY)
{
el_stack.POP_BACK();
} }
if (word_count != 1) { el_stack.SPLICE(el_stack.end(),
key_end = key_comps.begin(); mixed_queue,
} mixed_queue.begin(),
value.SPLICE(value.end(), key_comps, key_end, key_comps.end()); mixed_queue.end());
strip(key_comps, element_is_space{}); }
if (!key_comps.empty()) { if (!mixed_tail.empty()) {
el_stack.PUSH_BACK(element(key_comps, DNT_KEY, false));
}
key_comps.CLEAR(); key_comps.CLEAR();
} else { key_comps.SPLICE(key_comps.end(),
mixed_tail,
std::prev(mixed_tail.end()),
mixed_tail.end());
}
if (!mixed_values && !el_stack.empty() && !key_comps.empty()) {
element_list_t::iterator value_iter;
if (el_stack.size() > 1 && in_list.el_format.df_appender != DT_INVALID
&& in_list.el_format.df_terminator != DT_INVALID
&& iter->e_token == in_list.el_format.df_separator)
{
/* If we're expecting a terminator and haven't found it */
/* then this is part of the value. */
return;
}
value.SPLICE( value.SPLICE(
value.end(), key_comps, key_comps.begin(), key_comps.end()); value.end(), key_comps, key_comps.begin(), key_comps.end());
}
strip(value, element_is_space{});
strip(value, element_if(DT_COLON));
strip(value, element_is_space{});
if (!value.empty()) {
if (value.size() == 2 && value.back().e_token == DNT_GROUP) {
element_list_t ELEMENT_LIST_T(group_pair);
group_pair.PUSH_BACK(element(value, DNT_PAIR)); if (value.size() == 2
el_stack.PUSH_BACK(element(group_pair, DNT_VALUE)); && (value.front().e_token == DT_WORD
} else { || value.front().e_token == DT_SYMBOL
el_stack.PUSH_BACK(element(value, DNT_VALUE)); || value.front().e_token == DT_ID)
&& el_stack.back().e_token != DNT_KEY)
{
element_list_t ELEMENT_LIST_T(mixed_key);
mixed_key.SPLICE(mixed_key.end(),
value,
value.begin(),
std::next(value.begin()));
el_stack.PUSH_BACK(element(mixed_key, DNT_KEY, false));
} }
} }
strip(value, element_is_space{});
value.remove_if(element_if(DT_COMMA));
if (!value.empty()) {
el_stack.PUSH_BACK(element(value, DNT_VALUE));
}
strip(key_comps, element_is_space{});
if (!key_comps.empty()) {
if (mixed_values) {
key_is_values = false;
while (key_comps.size() > 1) {
key_comps.POP_FRONT();
}
}
if (!key_comps.empty()) {
if (iter == in_list.end()
|| iter->e_token != in_list.el_format.df_separator)
{
key_is_values = true;
}
if (key_is_values) {
el_stack.PUSH_BACK(element(key_comps, DNT_VALUE));
} else {
el_stack.PUSH_BACK(element(key_comps, DNT_KEY, false));
}
}
}
key_comps.CLEAR();
value.CLEAR(); value.CLEAR();
} }
@ -728,6 +984,7 @@ dfs_prefix_next(data_format_state_t state, data_token_t next_token)
case DT_EMAIL: case DT_EMAIL:
case DT_WORD: case DT_WORD:
case DT_SYMBOL: case DT_SYMBOL:
case DT_ID:
case DT_OCTAL_NUMBER: case DT_OCTAL_NUMBER:
case DT_HEX_NUMBER: case DT_HEX_NUMBER:
case DT_NUMBER: case DT_NUMBER:
@ -1058,6 +1315,37 @@ data_parser::element::print(FILE* out, data_scanner& ds, int offset) const
fprintf(out, " %s\n", sub.c_str()); fprintf(out, " %s\n", sub.c_str());
} }
bool
data_parser::element::is_value() const
{
switch (this->e_token) {
case DNT_MEASUREMENT:
case DT_ID:
case DT_QUOTED_STRING:
case DT_URL:
case DT_PATH:
case DT_MAC_ADDRESS:
case DT_DATE:
case DT_TIME:
case DT_DATE_TIME:
case DT_IPV4_ADDRESS:
case DT_IPV6_ADDRESS:
case DT_HEX_DUMP:
case DT_UUID:
case DT_CREDIT_CARD_NUMBER:
case DT_VERSION_NUMBER:
case DT_OCTAL_NUMBER:
case DT_PERCENTAGE:
case DT_NUMBER:
case DT_HEX_NUMBER:
case DT_EMAIL:
case DT_CONSTANT:
return true;
default:
return false;
}
}
data_parser::discover_format_state::discover_format_state() data_parser::discover_format_state::discover_format_state()
: dfs_prefix_state(DFS_INIT), dfs_semi_state(DFS_INIT), : dfs_prefix_state(DFS_INIT), dfs_semi_state(DFS_INIT),
dfs_comma_state(DFS_INIT) dfs_comma_state(DFS_INIT)
@ -1102,6 +1390,8 @@ data_parser::discover_format_state::finalize()
} else if (this->dfs_comma_state != DFS_ERROR) { } else if (this->dfs_comma_state != DFS_ERROR) {
if (this->dfs_hist[DT_COMMA] > 0) { if (this->dfs_hist[DT_COMMA] > 0) {
this->dfs_format = FORMAT_COMMA; this->dfs_format = FORMAT_COMMA;
} else if (this->dfs_hist[DT_EMDASH] > 0) {
this->dfs_format = FORMAT_EMDASH;
} }
if (separator == DT_COLON && this->dfs_hist[DT_COMMA] > 0) { if (separator == DT_COLON && this->dfs_hist[DT_COMMA] > 0) {
if (!((this->dfs_hist[DT_COLON] == this->dfs_hist[DT_COMMA]) if (!((this->dfs_hist[DT_COLON] == this->dfs_hist[DT_COMMA])
@ -1109,7 +1399,7 @@ data_parser::discover_format_state::finalize()
== this->dfs_hist[DT_COMMA]))) == this->dfs_hist[DT_COMMA])))
{ {
separator = DT_INVALID; separator = DT_INVALID;
if (this->dfs_hist[DT_COLON] == 1) { if (this->dfs_hist[DT_COLON] > 0) {
prefix_term = DT_COLON; prefix_term = DT_COLON;
} }
} }
@ -1120,3 +1410,17 @@ data_parser::discover_format_state::finalize()
this->dfs_format.df_separator = separator; this->dfs_format.df_separator = separator;
this->dfs_format.df_prefix_terminator = prefix_term; this->dfs_format.df_prefix_terminator = prefix_term;
} }
void
data_parser::element_list_t::push_back(const data_parser::element& elem,
const char* fn,
int line)
{
ELEMENT_TRACE;
require(elem.e_capture.c_end >= -1);
require(this->empty()
|| (elem.e_capture.c_begin == -1 && elem.e_capture.c_end == -1)
|| this->back().e_capture.c_end <= elem.e_capture.c_begin);
this->std::list<element>::push_back(elem);
}

View File

@ -209,6 +209,7 @@ class data_parser {
public: public:
static data_format FORMAT_SEMI; static data_format FORMAT_SEMI;
static data_format FORMAT_COMMA; static data_format FORMAT_COMMA;
static data_format FORMAT_EMDASH;
static data_format FORMAT_PLAIN; static data_format FORMAT_PLAIN;
static FILE* TRACE_FILE; static FILE* TRACE_FILE;
@ -259,13 +260,7 @@ public:
this->std::list<element>::push_front(elem); this->std::list<element>::push_front(elem);
} }
void push_back(const element& elem, const char* fn, int line) void push_back(const element& elem, const char* fn, int line);
{
ELEMENT_TRACE;
require(elem.e_capture.c_end >= -1);
this->std::list<element>::push_back(elem);
}
void pop_front(const char* fn, int line) void pop_front(const char* fn, int line)
{ {
@ -335,6 +330,8 @@ public:
const element& get_pair_elem() const; const element& get_pair_elem() const;
bool is_value() const;
void print(FILE* out, data_scanner&, int offset = 0) const; void print(FILE* out, data_scanner&, int offset = 0) const;
data_scanner::capture_t e_capture; data_scanner::capture_t e_capture;
@ -402,7 +399,8 @@ public:
element_list_t& key_comps, element_list_t& key_comps,
element_list_t& value, element_list_t& value,
const element_list_t& in_list, const element_list_t& in_list,
int group_depth); int group_depth,
element_list_t::iterator iter);
void parse(); void parse();

View File

@ -112,6 +112,9 @@ static struct {
{ {
"semi", "semi",
}, },
{
"emda",
},
{ {
"empt", "empt",
@ -181,9 +184,15 @@ static struct {
{ {
"word", "word",
}, },
{
"id",
},
{ {
"sym", "sym",
}, },
{
"unit",
},
{ {
"line", "line",
}, },
@ -275,3 +284,23 @@ data_scanner::is_credit_card(string_fragment cc) const
return double_even_sum % 10 == 0; return double_even_sum % 10 == 0;
} }
void
data_scanner::cleanup_end()
{
auto done = false;
while (!this->ds_input.empty() && !done) {
switch (this->ds_input.back()) {
case '.':
case ' ':
case '\r':
case '\n':
this->ds_input.pop_back();
break;
default:
done = true;
break;
}
}
}

View File

@ -64,6 +64,7 @@ enum data_token_t {
DT_EQUALS, DT_EQUALS,
DT_COMMA, DT_COMMA,
DT_SEMI, DT_SEMI,
DT_EMDASH,
DT_EMPTY_CONTAINER, DT_EMPTY_CONTAINER,
@ -92,7 +93,9 @@ enum data_token_t {
DT_EMAIL, DT_EMAIL,
DT_CONSTANT, DT_CONSTANT,
DT_WORD, DT_WORD,
DT_ID,
DT_SYMBOL, DT_SYMBOL,
DT_UNIT,
DT_LINE, DT_LINE,
DT_WHITE, DT_WHITE,
DT_DOT, DT_DOT,
@ -107,7 +110,7 @@ enum data_token_t {
DT_TERMINAL_MAX = DT_DIFF_HUNK_HEADING + 1, DT_TERMINAL_MAX = DT_DIFF_HUNK_HEADING + 1,
DNT_KEY = 52, DNT_KEY = 54,
DNT_PAIR, DNT_PAIR,
DNT_VALUE, DNT_VALUE,
DNT_ROW, DNT_ROW,
@ -157,25 +160,19 @@ public:
: ds_line(line), ds_input(this->ds_line), ds_init_offset(off), : ds_line(line), ds_input(this->ds_line), ds_init_offset(off),
ds_next_offset(off) ds_next_offset(off)
{ {
if (!line.empty() && line.back() == '.') { this->cleanup_end();
this->ds_input.sf_end -= 1;
}
} }
explicit data_scanner(string_fragment sf) : ds_input(sf) explicit data_scanner(string_fragment sf) : ds_input(sf)
{ {
if (!sf.empty() && sf.back() == '.') { this->cleanup_end();
this->ds_input.sf_end -= 1;
}
} }
explicit data_scanner(shared_buffer_ref& line, size_t off, size_t end) explicit data_scanner(shared_buffer_ref& line, size_t off, size_t end)
: ds_sbr(line), ds_input(line.to_string_fragment().sub_range(0, end)), : ds_sbr(line), ds_input(line.to_string_fragment().sub_range(0, end)),
ds_init_offset(off), ds_next_offset(off) ds_init_offset(off), ds_next_offset(off)
{ {
if (!this->ds_input.empty() && this->ds_input.back() == '.') { this->cleanup_end();
this->ds_input.sf_end -= 1;
}
} }
struct tokenize_result { struct tokenize_result {
@ -213,6 +210,8 @@ public:
} }
private: private:
void cleanup_end();
bool is_credit_card(string_fragment frag) const; bool is_credit_card(string_fragment frag) const;
std::string ds_line; std::string ds_line;
@ -221,6 +220,7 @@ private:
int ds_init_offset{0}; int ds_init_offset{0};
int ds_next_offset{0}; int ds_next_offset{0};
bool ds_bol{true}; bool ds_bol{true};
bool ds_units{false};
}; };
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@ -101,6 +101,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
_YYCURSOR yyt1; _YYCURSOR yyt1;
_YYCURSOR yyt2; _YYCURSOR yyt2;
_YYCURSOR yyt3; _YYCURSOR yyt3;
_YYCURSOR yyt4;
_YYCURSOR hunk_heading; _YYCURSOR hunk_heading;
const YYCTYPE *YYLIMIT = (const unsigned char *) this->ds_input.end(); const YYCTYPE *YYLIMIT = (const unsigned char *) this->ds_input.end();
const YYCTYPE *YYMARKER = YYCURSOR; const YYCTYPE *YYMARKER = YYCURSOR;
@ -121,6 +122,10 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
c = yycbol; c = yycbol;
} }
this->ds_bol = false; this->ds_bol = false;
if (this->ds_units) {
c = yycunits;
}
this->ds_units = false;
YYCURSOR.lim = YYLIMIT; YYCURSOR.lim = YYLIMIT;
@ -161,6 +166,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
"::"('ffff'(":0"{1,4}){0,1}":"){0,1}IPV4ADDR| "::"('ffff'(":0"{1,4}){0,1}":"){0,1}IPV4ADDR|
(IPV6SEG":"){1,4}":"IPV4ADDR (IPV6SEG":"){1,4}":"IPV4ADDR
); );
UNITS = (([mup]?("s"|"S"))|(([kKmMgG]"i"?)?[bB])|("m"|"min"));
<init, bol> EOF { return nonstd::nullopt; } <init, bol> EOF { return nonstd::nullopt; }
<init, bol> [\x00] { return nonstd::nullopt; } <init, bol> [\x00] { return nonstd::nullopt; }
@ -202,7 +208,6 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
RET(DT_COMMENT); RET(DT_COMMENT);
} }
<init, bol> "#[" "="* "[" ([^\x00\]]|"]" [^\x00=\]])* "]" "="* "]" { <init, bol> "#[" "="* "[" ([^\x00\]]|"]" [^\x00=\]])* "]" "="* "]" {
RET(DT_COMMENT); RET(DT_COMMENT);
} }
@ -214,8 +219,8 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
if (tf == text_format_t::TF_RUST) { if (tf == text_format_t::TF_RUST) {
auto sf = this->to_string_fragment(cap_all); auto sf = this->to_string_fragment(cap_all);
auto split_res = sf.split_when([](char ch) { return ch != '\'' && !isalnum(ch); }); auto split_res = sf.split_when([](char ch) { return ch != '\'' && !isalnum(ch); });
cap_all.c_end = split_res.first.sf_end; cap_all.c_end = split_res.first.sf_end - this->ds_input.sf_begin;
cap_inner.c_end = split_res.first.sf_end; cap_inner.c_end = split_res.first.sf_end - this->ds_input.sf_begin;
this->ds_next_offset = cap_all.c_end; this->ds_next_offset = cap_all.c_end;
return tokenize_result{DT_SYMBOL, cap_all, cap_inner, this->ds_input.data()}; return tokenize_result{DT_SYMBOL, cap_all, cap_inner, this->ds_input.data()};
} }
@ -250,7 +255,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
<init, bol> (NUM{4}"/"NUM{1,2}"/"NUM{1,2}|NUM{4}"-"NUM{1,2}"-"NUM{1,2}|NUM{2}"/"ALPHA{3}"/"NUM{4}) { <init, bol> (NUM{4}"/"NUM{1,2}"/"NUM{1,2}|NUM{4}"-"NUM{1,2}"-"NUM{1,2}|NUM{2}"/"ALPHA{3}"/"NUM{4}) {
RET(DT_DATE); RET(DT_DATE);
} }
<init, bol> IPV6ADDR/[^:a-zA-Z0-9] { RET(DT_IPV6_ADDRESS); } <init, bol> IPV6ADDR/(": "|[^:a-zA-Z0-9]) { RET(DT_IPV6_ADDRESS); }
<init, bol> "<!"[a-zA-Z0-9_:\-]+SPACE*([a-zA-Z0-9_:\-]+(SPACE*'='SPACE*('"'(('\\'[^\x00]|[^\x00"\\])+)'"'|"'"(('\\'[^\x00]|[^\x00'\\])+)"'"|[^\x00>]+))?|SPACE*('"'(('\\'[^\x00]|[^\x00"\\])+)'"'|"'"(('\\'[^\x00]|[^\x00'\\])+)"'"))*SPACE*">" { <init, bol> "<!"[a-zA-Z0-9_:\-]+SPACE*([a-zA-Z0-9_:\-]+(SPACE*'='SPACE*('"'(('\\'[^\x00]|[^\x00"\\])+)'"'|"'"(('\\'[^\x00]|[^\x00'\\])+)"'"|[^\x00>]+))?|SPACE*('"'(('\\'[^\x00]|[^\x00"\\])+)'"'|"'"(('\\'[^\x00]|[^\x00'\\])+)"'"))*SPACE*">" {
RET(DT_XML_DECL_TAG); RET(DT_XML_DECL_TAG);
@ -312,6 +317,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
<init, bol> "=" { RET(DT_EQUALS); } <init, bol> "=" { RET(DT_EQUALS); }
<init, bol> "," { RET(DT_COMMA); } <init, bol> "," { RET(DT_COMMA); }
<init, bol> ";" { RET(DT_SEMI); } <init, bol> ";" { RET(DT_SEMI); }
<init, bol> "--"/[^\-] { RET(DT_EMDASH); }
<init, bol> "()" | "{}" | "[]" { RET(DT_EMPTY_CONTAINER); } <init, bol> "()" | "{}" | "[]" { RET(DT_EMPTY_CONTAINER); }
<init, bol> "{" { RET(DT_LCURLY); } <init, bol> "{" { RET(DT_LCURLY); }
<init, bol> "}" { RET(DT_RCURLY); } <init, bol> "}" { RET(DT_RCURLY); }
@ -336,20 +342,50 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
cap_inner.c_end = cap_inner.c_begin + 4; cap_inner.c_end = cap_inner.c_begin + 4;
} }
this->ds_next_offset = cap_all.c_end; this->ds_next_offset = cap_all.c_end;
token_out = DT_NUMBER; token_out = DT_HEX_DUMP;
} }
return tokenize_result{token_out, cap_all, cap_inner, this->ds_input.data()}; return tokenize_result{token_out, cap_all, cap_inner, this->ds_input.data()};
} }
<init, bol> [0-9]"."[0-9]+'e'[\-\+][0-9]+ { RET(DT_NUMBER); } <init, bol> ("-"|"+")?[0-9]"."[0-9]+([eE][\-\+][0-9]+)?UNITS? {
CAPTURE(DT_NUMBER);
auto sf = this->to_string_fragment(cap_all);
if (isalpha(sf.back())) {
while (isalpha(sf.back())) {
sf.pop_back();
}
cap_all.c_end = sf.sf_end - this->ds_input.sf_begin;
cap_inner.c_end = sf.sf_end - this->ds_input.sf_begin;
this->ds_next_offset = cap_all.c_end;
this->ds_units = true;
}
return tokenize_result{DT_NUMBER, cap_all, cap_inner, this->ds_input.data()};
}
<init, bol> [0-9]+("."[0-9]+[a-zA-Z0-9_]*){2,}("-"[a-zA-Z0-9_]+)?|[0-9]+("."[0-9]+[a-zA-Z0-9_]*)+"-"[a-zA-Z0-9_]+ { <init, bol> [0-9]+("."[0-9]+[a-zA-Z0-9_]*){2,}("-"[a-zA-Z0-9_]+)?|[0-9]+("."[0-9]+[a-zA-Z0-9_]*)+"-"[a-zA-Z0-9_]+ {
RET(DT_VERSION_NUMBER); RET(DT_VERSION_NUMBER);
} }
<units> UNITS {
RET(DT_UNIT);
}
<init, bol> "-"?"0"[0-7]+ { RET(DT_OCTAL_NUMBER); } <init, bol> "-"?"0"[0-7]+ { RET(DT_OCTAL_NUMBER); }
<init, bol> "-"?[0-9]+("."[0-9]+)?[ ]*"%" { RET(DT_PERCENTAGE); } <init, bol> "-"?[0-9]+("."[0-9]+)?[ ]*"%" { RET(DT_PERCENTAGE); }
<init, bol> "-"?[0-9]+("."[0-9]+)?([eE][\-+][0-9]+)? { RET(DT_NUMBER); } <init, bol> ("0"|("-"|"+")?[1-9][0-9]*("."[0-9]+)?([eE][\-+][0-9]+)?)UNITS? {
CAPTURE(DT_NUMBER);
auto sf = this->to_string_fragment(cap_all);
if (isalpha(sf.back())) {
while (isalpha(sf.back())) {
sf.pop_back();
}
cap_all.c_end = sf.sf_end - this->ds_input.sf_begin;
cap_inner.c_end = sf.sf_end - this->ds_input.sf_begin;
this->ds_next_offset = cap_all.c_end;
this->ds_units = true;
}
return tokenize_result{DT_NUMBER, cap_all, cap_inner, this->ds_input.data()};
}
<init, bol> "-"?("0x"|[0-9])[0-9a-fA-F]+ { RET(DT_HEX_NUMBER); } <init, bol> "-"?("0x"|[0-9])[0-9a-fA-F]+ { RET(DT_HEX_NUMBER); }
<init, bol> [a-zA-Z0-9\._%+-]+"@"[a-zA-Z0-9\.-]+"."[a-zA-Z]+ { RET(DT_EMAIL); } <init, bol> [a-zA-Z0-9\._%+-]+"@"[a-zA-Z0-9\.-]+"."[a-zA-Z]+ { RET(DT_EMAIL); }
@ -358,10 +394,22 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
<init, bol> ("re-")?[a-zA-Z][a-z']+/([\r\n\t \(\)!\*:;'\"\?,]|[\.\!,\?]SPACE|EOF) { RET(DT_WORD); } <init, bol> ("re-")?[a-zA-Z][a-z']+/([\r\n\t \(\)!\*:;'\"\?,]|[\.\!,\?]SPACE|EOF) { RET(DT_WORD); }
<init, bol> [^\x00\x16\x1b"; \t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\][^\x00\x16\x1b"; \t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]*("::"[^\x00\x16\x1b"; \r\n\t:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]+)* { <init, bol> ("--"|"++")[a-zA-Z0-9]+("-"[a-zA-Z0-9]+)* {
RET(DT_SYMBOL); RET(DT_SYMBOL);
} }
<init, bol> ("-"|"+")[a-zA-Z0-9]+/[\x00 \t\r\n] {
RET(DT_SYMBOL);
}
<init, bol> [^0-9\x00\x16\x1b"; \-\t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\][^\x00\x16\x1b"; \-\t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]*("::"[^\x00\x16\x1b"; \r\n\t:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]+)* {
RET(DT_SYMBOL);
}
<init, bol> [^\x00\x16\x1b"; \t\r\n\-:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\][^\x00\x16\x1b"; \t\r\n\-:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\]*(("::"|"."|"-")[^\x00\x16\x1b"; \r\n\t:=,\.\-\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]+)* {
RET(DT_ID);
}
<init, bol> ("\r"?"\n"|"\\n") { <init, bol> ("\r"?"\n"|"\\n") {
this->ds_bol = true; this->ds_bol = true;
RET(DT_LINE); RET(DT_LINE);

View File

@ -105,6 +105,9 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
lr.lr_start += 1; lr.lr_start += 1;
} }
for (const auto& attr : sa) {
require_ge(attr.sa_range.lr_start, 0);
}
int left = 0; int left = 0;
for (size_t lpc = 0; lpc < this->dls_headers.size(); lpc++) { for (size_t lpc = 0; lpc < this->dls_headers.size(); lpc++) {
auto row_view = scn::string_view{this->dls_rows[row][lpc]}; auto row_view = scn::string_view{this->dls_rows[row][lpc]};
@ -116,6 +119,10 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
if (num_scan_res) { if (num_scan_res) {
this->dls_chart.chart_attrs_for_value( this->dls_chart.chart_attrs_for_value(
tc, left, hm.hm_name, num_scan_res.value(), sa); tc, left, hm.hm_name, num_scan_res.value(), sa);
for (const auto& attr : sa) {
require_ge(attr.sa_range.lr_start, 0);
}
} }
} }
if (row_view.length() > 2 && row_view.length() < MAX_JSON_WIDTH if (row_view.length() > 2 && row_view.length() < MAX_JSON_WIDTH
@ -142,11 +149,18 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
jpw_value.wt_ptr, jpw_value.wt_ptr,
num_scan_res.value(), num_scan_res.value(),
sa); sa);
for (const auto& attr : sa) {
require_ge(attr.sa_range.lr_start, 0);
}
} }
} }
} }
} }
} }
for (const auto& attr : sa) {
require_ge(attr.sa_range.lr_start, 0);
}
} }
void void
@ -446,6 +460,8 @@ db_overlay_source::list_static_overlay(const listview_curses& lv,
struct line_range header_range(line_len_before, line.length()); struct line_range header_range(line_len_before, line.length());
require_ge(header_range.lr_start, 0);
text_attrs attrs; text_attrs attrs;
if (this->dos_labels->dls_headers[lpc].hm_graphable) { if (this->dos_labels->dls_headers[lpc].hm_graphable) {
attrs attrs

View File

@ -41,7 +41,11 @@ element_to_json(yajl_gen gen, data_parser& dp, const data_parser::element& elem)
switch (elem.value_token()) { switch (elem.value_token()) {
case DT_NUMBER: { case DT_NUMBER: {
yajl_gen_number(gen, value_str, value_len); auto leading_plus = value_str[0] == '+';
yajl_gen_number(gen,
leading_plus ? value_str + 1 : value_str,
leading_plus ? value_len - 1 : value_len);
break; break;
} }
case DNT_GROUP: { case DNT_GROUP: {
@ -49,6 +53,11 @@ element_to_json(yajl_gen gen, data_parser& dp, const data_parser::element& elem)
gen, dp, elem.get_value_elem().e_sub_elements, false); gen, dp, elem.get_value_elem().e_sub_elements, false);
break; break;
} }
case DNT_MEASUREMENT: {
elements_to_json(
gen, dp, elem.get_value_elem().e_sub_elements, false);
break;
}
case DNT_PAIR: { case DNT_PAIR: {
const data_parser::element& pair_elem = elem.get_pair_elem(); const data_parser::element& pair_elem = elem.get_pair_elem();
const auto key_str const auto key_str

View File

@ -80,6 +80,9 @@
}, },
{ {
"line": "2023-08-09T14:42:43.094Z In(14) settingsd[263657]: debug [ConfigStore:c5f9ac2700 opId=cabbdb94-0afb-4d23-9203-e901779b9b04] [RunCommand] About to run command /usr/bin/python /usr/lib/vmware/lifecycle/bin/imagemanagerctl.py VIB --list-all" "line": "2023-08-09T14:42:43.094Z In(14) settingsd[263657]: debug [ConfigStore:c5f9ac2700 opId=cabbdb94-0afb-4d23-9203-e901779b9b04] [RunCommand] About to run command /usr/bin/python /usr/lib/vmware/lifecycle/bin/imagemanagerctl.py VIB --list-all"
},
{
"line": "2022-05-17T07:39:38.357Z In(9) watchdog-vobd[1001390409]: Executing '/usr/lib/vmware/vob/bin/vobd ++securitydom=vobdDom'"
} }
] ]
} }

View File

@ -6,7 +6,7 @@
"url": "https://kb.vmware.com/kb/2004201", "url": "https://kb.vmware.com/kb/2004201",
"regex": { "regex": {
"6.0+": { "6.0+": {
"pattern": "^(?:\\[#\\d+\\] )?(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}(?:Z|[-+]\\d{2}:\\d{2})) (?<level>\\w+)(?:\\(\\d+\\)+)? (?<prc>[\\w\\-]+)\\[(?<tid>\\w+)\\]:? (?:\\w+ -\\[\\d+\\] )?\\[(?<src>[\\w:]+(?:@\\d+)?)(?:\\s+sub=(?<sub>.*?(?!\\w+=)))?(?:\\s+item=(?<item>[\\w\\.\\-@/:]+))?(?: req=(?<req>[^ \\]]+))?(?: opI(?:D|d)=(?<opid>(?:req=)?[\\w@ \\-\\.:]+?(?!\\w+=)))?(?: sid=(?<sid>[^ \\]]+))?(?: user=(?<user>[^ \\]<]+(?:<[^>]+>)?))?(?: update=(?<vpxa_update>\\d+))?(?:\\s+reason=(?<reason>[^\\]]+))?\\]\\s+(?:\\[(?<file>[^ ]+)\\s+(?<line>\\d+)\\]\\s+)?(?<body>.*)$" "pattern": "^(?:\\[#\\d+\\] )?(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}(?:Z|[-+]\\d{2}:\\d{2})) (?<level>\\w+)(?:\\(\\d+\\)+)? (?<prc>[\\w\\-]+)\\[(?<tid>\\w+)\\]:? (?:\\w+ -\\[\\d+\\] )?\\[(?<src>[a-zA-Z][\\w:]*(?:@\\d+)?)(?:\\s+sub=(?<sub>.*?(?!\\w+=)))?(?:\\s+item=(?<item>[\\w\\.\\-@/:]+))?(?: req=(?<req>[^ \\]]+))?(?: opI(?:D|d)=(?<opid>(?:req=)?[\\w@ \\-\\.:]+?(?!\\w+=)))?(?: sid=(?<sid>[^ \\]]+))?(?: user=(?<user>[^ \\]<]+(?:<[^>]+>)?))?(?: update=(?<vpxa_update>\\d+))?(?:\\s+reason=(?<reason>[^\\]]+))?\\]\\s+(?:\\[(?<file>[^ ]+)\\s+(?<line>\\d+)\\]\\s+)?(?<body>.*)$"
}, },
"6.0+-nosrc": { "6.0+-nosrc": {
"pattern": "^(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}(?:Z|[-+]\\d{2}:\\d{2})) (?<level>\\w+)(?:\\(\\d+\\)+)? (?<prc>[\\w\\-]+)\\[(?<tid>\\w+)\\]:? \\[(?:opI(?:D|d)=(?<opid>[^\\]]+))\\]\\s*(?<body>.*)$" "pattern": "^(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}(?:Z|[-+]\\d{2}:\\d{2})) (?<level>\\w+)(?:\\(\\d+\\)+)? (?<prc>[\\w\\-]+)\\[(?<tid>\\w+)\\]:? \\[(?:opI(?:D|d)=(?<opid>[^\\]]+))\\]\\s*(?<body>.*)$"

View File

@ -92,7 +92,8 @@ public:
return *this; return *this;
} }
bool attrs_in_use(const text_attrs& attrs) const { bool attrs_in_use(const text_attrs& attrs) const
{
for (const auto& ident : this->sbc_idents) { for (const auto& ident : this->sbc_idents) {
if (ident.ci_attrs == attrs) { if (ident.ci_attrs == attrs) {
return true; return true;
@ -205,18 +206,24 @@ public:
} }
if (this->sbc_show_state.template is<show_all>()) { if (this->sbc_show_state.template is<show_all>()) {
avail_width = width - this->sbc_idents.size(); if (width < this->sbc_idents.size()) {
avail_width = 0;
} else {
avail_width = width - this->sbc_idents.size();
}
} else { } else {
avail_width = width - 1; avail_width = width - 1;
} }
avail_width -= this->sbc_left + this->sbc_right; if (avail_width > (this->sbc_left + this->sbc_right)) {
avail_width -= this->sbc_left + this->sbc_right;
}
lr.lr_start = left; lr.lr_start = left;
const auto& ci = this->sbc_idents[ident_index]; const auto& ci = this->sbc_idents[ident_index];
int amount; int amount;
if (value == 0.0) { if (value == 0.0 || avail_width < 0) {
amount = 0; amount = 0;
} else if ((overall_stats.bs_max_value - 0.01) <= value } else if ((overall_stats.bs_max_value - 0.01) <= value
&& value <= (overall_stats.bs_max_value + 0.01)) && value <= (overall_stats.bs_max_value + 0.01))
@ -228,6 +235,7 @@ public:
amount = (int) rint(percent * avail_width); amount = (int) rint(percent * avail_width);
amount = std::max(1, amount); amount = std::max(1, amount);
} }
require_ge(amount, 0);
lr.lr_end = left = lr.lr_start + amount; lr.lr_end = left = lr.lr_start + amount;
if (!ci.ci_attrs.empty() && !lr.empty()) { if (!ci.ci_attrs.empty() && !lr.empty()) {

View File

@ -796,7 +796,9 @@ line_buffer::fill_range(file_off_t start, ssize_t max_length)
this->lb_alt_line_has_ansi.clear(); this->lb_alt_line_has_ansi.clear();
this->lb_stats.s_used_preloads += 1; this->lb_stats.s_used_preloads += 1;
} }
if (this->in_range(start) && this->in_range(start + max_length - 1)) { if (this->in_range(start)
&& (max_length == 0 || this->in_range(start + max_length - 1)))
{
/* Cache already has the data, nothing to do. */ /* Cache already has the data, nothing to do. */
retval = true; retval = true;
if (!lnav::pid::in_child && this->lb_seekable && this->lb_buffer.full() if (!lnav::pid::in_child && this->lb_seekable && this->lb_buffer.full()

View File

@ -421,6 +421,10 @@ listview_curses::do_update()
} else if (row < (int) row_count) { } else if (row < (int) row_count) {
auto& al = rows[row - this->lv_top]; auto& al = rows[row - this->lv_top];
for (const auto& attr : al.get_attrs()) {
require_ge(attr.sa_range.lr_start, 0);
}
size_t remaining = 0; size_t remaining = 0;
do { do {
remaining = mvwattrline(this->lv_window, remaining = mvwattrline(this->lv_window,

View File

@ -1055,9 +1055,13 @@ logfile::read_full_message(logfile::const_iterator ll,
auto read_result = this->lf_line_buffer.read_range(range_for_line); auto read_result = this->lf_line_buffer.read_range(range_for_line);
if (read_result.isErr()) { if (read_result.isErr()) {
log_error("unable to read range %d:%d", auto errmsg = read_result.unwrapErr();
log_error("%s:%d:unable to read range %d:%d -- %s",
this->get_unique_path().c_str(),
std::distance(this->cbegin(), ll),
range_for_line.fr_offset, range_for_line.fr_offset,
range_for_line.fr_size); range_for_line.fr_size,
errmsg.c_str());
return; return;
} }
msg_out = read_result.unwrap(); msg_out = read_result.unwrap();

View File

@ -790,6 +790,10 @@ readline_curses::start()
} }
this->rc_pty[RCF_SLAVE] = slave_open_res.unwrap(); this->rc_pty[RCF_SLAVE] = slave_open_res.unwrap();
if (ioctl(this->rc_pty[RCF_SLAVE], TIOCSWINSZ, &ws) == -1) {
throw error(errno);
}
this->rc_pty[RCF_MASTER].close_on_exec(); this->rc_pty[RCF_MASTER].close_on_exec();
this->rc_pty[RCF_SLAVE].close_on_exec(); this->rc_pty[RCF_SLAVE].close_on_exec();

View File

@ -484,6 +484,10 @@ textview_curses::textview_value_for_row(vis_line_t row, attr_line_t& value_out)
this->tc_sub_source->text_value_for_line(*this, row, str); this->tc_sub_source->text_value_for_line(*this, row, str);
this->tc_sub_source->text_attrs_for_line(*this, row, sa); this->tc_sub_source->text_attrs_for_line(*this, row, sa);
for (const auto& attr : sa) {
require_ge(attr.sa_range.lr_start, 0);
}
scrub_ansi_string(str, &sa); scrub_ansi_string(str, &sa);
struct line_range body, orig_line; struct line_range body, orig_line;

View File

@ -258,7 +258,7 @@ view_curses::mvwattrline(WINDOW* window,
} }
std::stable_sort(sa.begin(), sa.end()); std::stable_sort(sa.begin(), sa.end());
for (auto iter = sa.begin(); iter != sa.end(); ++iter) { for (auto iter = sa.cbegin(); iter != sa.cend(); ++iter) {
auto attr_range = iter->sa_range; auto attr_range = iter->sa_range;
require(attr_range.lr_start >= 0); require(attr_range.lr_start >= 0);

View File

@ -1,13 +1,15 @@
current speed: 38 mph current speed: 38 mph
key 0:0
key 0:13 ^-----------^ current speed key 0:13 ^-----------^ current speed
pair 0:13 ^-----------^ current speed
key 15:15 ^
num 15:17 ^^ 38 num 15:17 ^^ 38
pair 15:17 ^^ 38 val 15:17 ^^ 38
pair 0:17 ^---------------^ current speed: 38
key 18:18 ^
word 18:21 ^-^ mph
val 18:21 ^-^ mph
pair 18:21 ^-^ mph
msg :current speed: 38 mph msg :current speed: 38 mph
format :#: # mph format :current speed: # #
{ {
"col_0": "current speed", "current speed": 38,
"col_1": 38 "col_0": "mph"
} }

View File

@ -1,8 +1,5 @@
FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names)]) FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names)])
key 0:0 key 0:8 ^------^ FSChange
sym 0:8 ^------^ FSChange
pair 0:8 ^------^ FSChange
key 9:9 ^
key 9:9 ^ key 9:9 ^
sym 9:27 ^----------------^ Direction.DOWNLOAD sym 9:27 ^----------------^ Direction.DOWNLOAD
val 9:27 ^----------------^ Direction.DOWNLOAD val 9:27 ^----------------^ Direction.DOWNLOAD
@ -13,19 +10,17 @@ pair 9:27 ^----------------^
pair 29:42 ^-----------^ Action.CREATE pair 29:42 ^-----------^ Action.CREATE
key 44:48 ^--^ name key 44:48 ^--^ name
word 49:55 ^----^ Fanime word 49:55 ^----^ Fanime
wspc 55:56 ^
num 56:60 ^--^ 2015 num 56:60 ^--^ 2015
val 49:60 ^---------^ Fanime 2015 val 49:60 ^---------^ Fanime 2015
pair 44:60 ^--------------^ name=Fanime 2015 pair 44:60 ^--------------^ name=Fanime 2015
key 62:67 ^---^ route key 62:67 ^---^ route
key 69:79 ^--------^ CloudEntry key 69:79 ^--------^ CloudEntry
key 80:86 ^----^ doc_id key 80:86 ^----^ doc_id
sym 87:131 ^------------------------------------------^ 1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg id 87:131 ^------------------------------------------^ 1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg
val 87:131 ^------------------------------------------^ 1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg val 87:131 ^------------------------------------------^ 1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg
pair 80:131 ^-------------------------------------------------^ doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg pair 80:131 ^-------------------------------------------------^ doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg
key 132:140 ^------^ filename key 132:140 ^------^ filename
word 141:145 ^--^ Baby word 141:145 ^--^ Baby
wspc 145:146 ^
word 146:151 ^---^ Names word 146:151 ^---^ Names
val 141:151 ^--------^ Baby Names val 141:151 ^--------^ Baby Names
pair 132:151 ^-----------------^ filename=Baby Names pair 132:151 ^-----------------^ filename=Baby Names
@ -36,12 +31,12 @@ pair 69:151
val 69:151 ^--------------------------------------------------------------------------------^ CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names val 69:151 ^--------------------------------------------------------------------------------^ CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
pair 62:151 ^---------------------------------------------------------------------------------------^ route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names pair 62:151 ^---------------------------------------------------------------------------------------^ route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
grp 9:151 ^--------------------------------------------------------------------------------------------------------------------------------------------^ Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names grp 9:151 ^--------------------------------------------------------------------------------------------------------------------------------------------^ Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
pair 9:151 ^--------------------------------------------------------------------------------------------------------------------------------------------^ Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names val 9:151 ^--------------------------------------------------------------------------------------------------------------------------------------------^ Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
pair 0:151 ^-----------------------------------------------------------------------------------------------------------------------------------------------------^ FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
msg :FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names)]) msg :FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names)])
format :#(#)]) format :FSChange(#)])
{ {
"col_0": "FSChange", "FSChange": {
"col_1": {
"col_0": "Direction.DOWNLOAD", "col_0": "Direction.DOWNLOAD",
"col_1": "Action.CREATE", "col_1": "Action.CREATE",
"name": "Fanime 2015", "name": "Fanime 2015",

View File

@ -1,5 +1,5 @@
Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False)] Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False)]
key 31:31 ^ key 0:29 ^---------------------------^ Worker successfully completed
key 31:46 ^-------------^ ImmutableChange key 31:46 ^-------------^ ImmutableChange
key 47:47 ^ key 47:47 ^
sym 47:63 ^--------------^ Direction.UPLOAD sym 47:63 ^--------------^ Direction.UPLOAD
@ -10,15 +10,17 @@ pair 47:63 ^--------------^
val 65:78 ^-----------^ Action.CREATE val 65:78 ^-----------^ Action.CREATE
pair 65:78 ^-----------^ Action.CREATE pair 65:78 ^-----------^ Action.CREATE
key 80:83 ^-^ ino key 80:83 ^-^ ino
sym 84:91 ^-----^ LocalID quot 84:84 ^
val 84:84 ^
pair 80:84 ^--^ ino=
key 84:91 ^-----^ LocalID
key 92:97 ^---^ inode key 92:97 ^---^ inode
num 98:105 ^-----^ 5567236 num 98:105 ^-----^ 5567236
val 98:105 ^-----^ 5567236 val 98:105 ^-----^ 5567236
pair 92:105 ^-----------^ inode=5567236 pair 92:105 ^-----------^ inode=5567236
grp 92:105 ^-----------^ inode=5567236 grp 92:105 ^-----------^ inode=5567236
val 92:105 ^-----------^ inode=5567236
pair 84:105 ^-------------------^ LocalID(inode=5567236 pair 84:105 ^-------------------^ LocalID(inode=5567236
val 84:105 ^-------------------^ LocalID(inode=5567236
pair 80:105 ^-----------------------^ ino=LocalID(inode=5567236
key 108:112 ^--^ path key 108:112 ^--^ path
quot 115:140 ^-----------------------^ /Users/stack/Google Drive quot 115:140 ^-----------------------^ /Users/stack/Google Drive
val 115:140 ^-----------------------^ /Users/stack/Google Drive val 115:140 ^-----------------------^ /Users/stack/Google Drive
@ -28,15 +30,17 @@ quot 150:167
val 150:167 ^---------------^ pyjsonpath1.patch val 150:167 ^---------------^ pyjsonpath1.patch
pair 143:167 ^----------------------^ name=u'pyjsonpath1.patch pair 143:167 ^----------------------^ name=u'pyjsonpath1.patch
key 170:180 ^--------^ parent_ino key 170:180 ^--------^ parent_ino
sym 181:188 ^-----^ LocalID quot 181:181 ^
val 181:181 ^
pair 170:181 ^---------^ parent_ino=
key 181:188 ^-----^ LocalID
key 189:194 ^---^ inode key 189:194 ^---^ inode
num 195:203 ^------^ 46166734 num 195:203 ^------^ 46166734
val 195:203 ^------^ 46166734 val 195:203 ^------^ 46166734
pair 189:203 ^------------^ inode=46166734 pair 189:203 ^------------^ inode=46166734
grp 189:203 ^------------^ inode=46166734 grp 189:203 ^------------^ inode=46166734
val 189:203 ^------------^ inode=46166734
pair 181:203 ^--------------------^ LocalID(inode=46166734 pair 181:203 ^--------------------^ LocalID(inode=46166734
val 181:203 ^--------------------^ LocalID(inode=46166734
pair 170:203 ^-------------------------------^ parent_ino=LocalID(inode=46166734
key 206:215 ^-------^ is_folder key 206:215 ^-------^ is_folder
cnst 216:221 ^---^ False cnst 216:221 ^---^ False
val 216:221 ^---^ False val 216:221 ^---^ False
@ -45,31 +49,46 @@ pair 206:221
val 47:221 ^----------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False val 47:221 ^----------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
pair 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False pair 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
grp 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False grp 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
pair 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False val 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
pair 0:221 ^---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
msg :Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False)] msg :Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False)]
format :Worker successfully completed [#)] format :Worker successfully completed [#)]
[ {
{ "Worker successfully completed": [
"ImmutableChange": { {
"col_0": "Direction.UPLOAD", "ImmutableChange": [
"col_1": "Action.CREATE", "Direction.UPLOAD",
"ino": { "Action.CREATE",
"LocalID": [ {
{ "ino": ""
"inode": 5567236 },
} {
] "LocalID": [
}, {
"path": "/Users/stack/Google Drive", "inode": 5567236
"name": "pyjsonpath1.patch", }
"parent_ino": { ]
"LocalID": [ },
{ {
"inode": 46166734 "path": "/Users/stack/Google Drive"
} },
] {
}, "name": "pyjsonpath1.patch"
"is_folder": false },
{
"parent_ino": ""
},
{
"LocalID": [
{
"inode": 46166734
}
]
},
{
"is_folder": false
}
]
} }
} ]
] }

View File

@ -1,5 +1,5 @@
list [foo(bar=1)] list [foo(bar=1)]
key 6:6 ^ key 0:4 ^--^ list
key 6:9 ^-^ foo key 6:9 ^-^ foo
key 10:13 ^-^ bar key 10:13 ^-^ bar
num 14:15 ^ 1 num 14:15 ^ 1
@ -9,15 +9,18 @@ pair 10:15 ^---^ bar=1
val 10:15 ^---^ bar=1 val 10:15 ^---^ bar=1
pair 6:15 ^-------^ foo(bar=1 pair 6:15 ^-------^ foo(bar=1
grp 6:15 ^-------^ foo(bar=1 grp 6:15 ^-------^ foo(bar=1
pair 6:15 ^-------^ foo(bar=1 val 6:15 ^-------^ foo(bar=1
pair 0:15 ^-------------^ list [foo(bar=1
msg :list [foo(bar=1)] msg :list [foo(bar=1)]
format :list [#)] format :list [#)]
[ {
{ "list": [
"foo": [ {
{ "foo": [
"bar": 1 {
} "bar": 1
] }
} ]
] }
]
}

View File

@ -1,5 +1,5 @@
list [foo(bar=1), foo(bar=2), foo(bar=3)] list [foo(bar=1), foo(bar=2), foo(bar=3)]
key 6:6 ^ key 0:4 ^--^ list
key 6:9 ^-^ foo key 6:9 ^-^ foo
key 10:13 ^-^ bar key 10:13 ^-^ bar
num 14:15 ^ 1 num 14:15 ^ 1
@ -25,29 +25,32 @@ pair 34:39 ^---^ bar=3
val 34:39 ^---^ bar=3 val 34:39 ^---^ bar=3
pair 30:39 ^-------^ foo(bar=3 pair 30:39 ^-------^ foo(bar=3
grp 6:39 ^-------------------------------^ foo(bar=1), foo(bar=2), foo(bar=3 grp 6:39 ^-------------------------------^ foo(bar=1), foo(bar=2), foo(bar=3
pair 6:39 ^-------------------------------^ foo(bar=1), foo(bar=2), foo(bar=3 val 6:39 ^-------------------------------^ foo(bar=1), foo(bar=2), foo(bar=3
pair 0:39 ^-------------------------------------^ list [foo(bar=1), foo(bar=2), foo(bar=3
msg :list [foo(bar=1), foo(bar=2), foo(bar=3)] msg :list [foo(bar=1), foo(bar=2), foo(bar=3)]
format :list [#)] format :list [#)]
[ {
{ "list": [
"foo": [ {
{ "foo": [
"bar": 1 {
} "bar": 1
] }
}, ]
{ },
"foo": [ {
{ "foo": [
"bar": 2 {
} "bar": 2
] }
}, ]
{ },
"foo": [ {
{ "foo": [
"bar": 3 {
} "bar": 3
] }
} ]
] }
]
}

View File

@ -1,5 +1,5 @@
list ["abc", "def", "ghi"] list ["abc", "def", "ghi"]
key 7:7 ^ key 0:4 ^--^ list
quot 7:10 ^-^ abc quot 7:10 ^-^ abc
val 7:10 ^-^ abc val 7:10 ^-^ abc
quot 14:17 ^-^ def quot 14:17 ^-^ def
@ -7,11 +7,14 @@ quot 14:17 ^-^ def
quot 21:24 ^-^ ghi quot 21:24 ^-^ ghi
val 21:24 ^-^ ghi val 21:24 ^-^ ghi
grp 7:24 ^---------------^ abc", "def", "ghi grp 7:24 ^---------------^ abc", "def", "ghi
pair 7:24 ^---------------^ abc", "def", "ghi val 7:24 ^---------------^ abc", "def", "ghi
pair 0:24 ^----------------------^ list ["abc", "def", "ghi
msg :list ["abc", "def", "ghi"] msg :list ["abc", "def", "ghi"]
format :list [#] format :list [#]
[ {
"abc", "list": [
"def", "abc",
"ghi" "def",
] "ghi"
]
}

View File

@ -13,6 +13,7 @@ quot 59:71 ^-------
quot 74:78 ^--^ test quot 74:78 ^--^ test
val 74:78 ^--^ test val 74:78 ^--^ test
grp 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test grp 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test
val 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test
pair 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test pair 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test
msg :{"correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test"} msg :{"correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test"}
format :{#} format :{#}

View File

@ -1,84 +1,73 @@
2022-06-02T12:26:22.072Z info vpxd[47413] [Originator@6876 sub=vpxLro opID=21fa61e9-3e] [VpxLRO] -- BEGIN lro-954041 -- AuthorizationManager -- vim.AuthorizationManager.hasUserPrivilegeOnEntities -- 52768da7-4006-3d4a-4917-ee027373630f(522e0475-8901-e8b8-1eb8-07ec729ac50c) 2022-06-02T12:26:22.072Z info vpxd[47413] [Originator@6876 sub=vpxLro opID=21fa61e9-3e] [VpxLRO] -- BEGIN lro-954041 -- AuthorizationManager -- vim.AuthorizationManager.hasUserPrivilegeOnEntities -- 52768da7-4006-3d4a-4917-ee027373630f(522e0475-8901-e8b8-1eb8-07ec729ac50c)
key 23:23 ^ key 0:0
sym 23:24 ^ Z dt 0:23 ^---------------------^ 2022-06-02T12:26:22.072
pair 23:24 ^ Z val 0:23 ^---------------------^ 2022-06-02T12:26:22.072
key 35:35 ^ pair 0:23 ^---------------------^ 2022-06-02T12:26:22.072
key 30:34 ^--^ vpxd
num 35:40 ^---^ 47413 num 35:40 ^---^ 47413
val 35:40 ^---^ 47413 val 35:40 ^---^ 47413
grp 35:40 ^---^ 47413 grp 35:40 ^---^ 47413
pair 35:40 ^---^ 47413 val 35:40 ^---^ 47413
pair 30:40 ^--------^ vpxd[47413
key 43:43 ^ key 43:43 ^
key 43:62 ^-----------------^ Originator@6876 sub key 43:62 ^-----------------^ Originator@6876 sub
sym 63:69 ^----^ vpxLro sym 63:69 ^----^ vpxLro
val 63:69 ^----^ vpxLro val 63:69 ^----^ vpxLro
pair 43:69 ^------------------------^ Originator@6876 sub=vpxLro pair 43:69 ^------------------------^ Originator@6876 sub=vpxLro
key 70:74 ^--^ opID key 70:74 ^--^ opID
sym 75:86 ^---------^ 21fa61e9-3e id 75:86 ^---------^ 21fa61e9-3e
val 75:86 ^---------^ 21fa61e9-3e val 75:86 ^---------^ 21fa61e9-3e
pair 70:86 ^--------------^ opID=21fa61e9-3e pair 70:86 ^--------------^ opID=21fa61e9-3e
grp 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e grp 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e
val 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e
pair 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e pair 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e
key 89:89 ^ key 89:89 ^
sym 89:95 ^----^ VpxLRO sym 89:95 ^----^ VpxLRO
val 89:95 ^----^ VpxLRO val 89:95 ^----^ VpxLRO
grp 89:95 ^----^ VpxLRO grp 89:95 ^----^ VpxLRO
val 89:95 ^----^ VpxLRO
pair 89:95 ^----^ VpxLRO pair 89:95 ^----^ VpxLRO
key 97:97 ^ key 100:105 ^---^ BEGIN
sym 97:99 ^^ -- id 106:116 ^--------^ lro-954041
pair 97:99 ^^ -- val 106:116 ^--------^ lro-954041
key 100:100 ^ pair 100:116 ^--------------^ BEGIN lro-954041
sym 100:105 ^---^ BEGIN
pair 100:105 ^---^ BEGIN
key 106:106 ^
sym 106:116 ^--------^ lro-954041
pair 106:116 ^--------^ lro-954041
key 117:117 ^
sym 117:119 ^^ --
pair 117:119 ^^ --
key 120:120 ^ key 120:120 ^
sym 120:140 ^------------------^ AuthorizationManager sym 120:140 ^------------------^ AuthorizationManager
val 120:140 ^------------------^ AuthorizationManager
pair 120:140 ^------------------^ AuthorizationManager pair 120:140 ^------------------^ AuthorizationManager
key 141:141 ^
sym 141:143 ^^ --
pair 141:143 ^^ --
key 144:144 ^ key 144:144 ^
sym 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities sym 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities
val 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities
pair 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities pair 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities
key 196:196 ^
sym 196:198 ^^ --
pair 196:198 ^^ --
key 199:199 ^ key 199:199 ^
uuid 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f uuid 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f
val 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f
pair 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f pair 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f
key 236:236 ^ key 236:236 ^
uuid 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c uuid 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
val 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c val 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
grp 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c grp 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
val 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
pair 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c pair 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
msg :2022-06-02T12:26:22.072Z info vpxd[47413] [Originator@6876 sub=vpxLro opID=21fa61e9-3e] [VpxLRO] -- BEGIN lro-954041 -- AuthorizationManager -- vim.AuthorizationManager.hasUserPrivilegeOnEntities -- 52768da7-4006-3d4a-4917-ee027373630f(522e0475-8901-e8b8-1eb8-07ec729ac50c) msg :2022-06-02T12:26:22.072Z info vpxd[47413] [Originator@6876 sub=vpxLro opID=21fa61e9-3e] [VpxLRO] -- BEGIN lro-954041 -- AuthorizationManager -- vim.AuthorizationManager.hasUserPrivilegeOnEntities -- 52768da7-4006-3d4a-4917-ee027373630f(522e0475-8901-e8b8-1eb8-07ec729ac50c)
format :2022-06-02T12:26:22.072# info vpxd[#] [#] [#] # # # # # # # # #(#) format :#Z info vpxd[#] [#] [#] -- BEGIN # -- # -- # -- #(#)
{ {
"col_0": "Z", "col_0": "2022-06-02T12:26:22.072",
"col_1": [ "vpxd": [
47413 47413
], ],
"col_2": { "col_1": {
"Originator@6876 sub": "vpxLro", "Originator@6876 sub": "vpxLro",
"opID": "21fa61e9-3e" "opID": "21fa61e9-3e"
}, },
"col_3": [ "col_2": [
"VpxLRO" "VpxLRO"
], ],
"col_4": "--", "BEGIN": "lro-954041",
"col_5": "BEGIN", "col_3": "AuthorizationManager",
"col_6": "lro-954041", "col_4": "vim.AuthorizationManager.hasUserPrivilegeOnEntities",
"col_7": "--", "col_5": "52768da7-4006-3d4a-4917-ee027373630f",
"col_8": "AuthorizationManager", "col_6": [
"col_9": "--",
"col_10": "vim.AuthorizationManager.hasUserPrivilegeOnEntities",
"col_11": "--",
"col_12": "52768da7-4006-3d4a-4917-ee027373630f",
"col_13": [
"522e0475-8901-e8b8-1eb8-07ec729ac50c" "522e0475-8901-e8b8-1eb8-07ec729ac50c"
] ]
} }

52
test/datafile_simple.24 Normal file
View File

@ -0,0 +1,52 @@
LoadResources path (./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000)
key 0:18 ^----------------^ LoadResources path
key 20:20 ^
path 20:30 ^--------^ ./locale/)
val 20:30 ^--------^ ./locale/)
pair 20:30 ^--------^ ./locale/)
key 31:37 ^----^ locale
word 39:41 ^^ en
val 39:41 ^^ en
grp 39:41 ^^ en
val 39:41 ^^ en
pair 31:41 ^--------^ locale (en
key 43:53 ^--------^ removeable
cnst 55:60 ^---^ false
val 55:60 ^---^ false
grp 55:60 ^---^ false
val 55:60 ^---^ false
pair 43:60 ^---------------^ removeable (false
key 62:68 ^----^ resMap
hex 70:86 ^--------------^ 00007f9ee4195fa0
val 70:86 ^--------------^ 00007f9ee4195fa0
grp 70:86 ^--------------^ 00007f9ee4195fa0
val 70:86 ^--------------^ 00007f9ee4195fa0
pair 62:86 ^----------------------^ resMap (00007f9ee4195fa0
key 88:95 ^-----^ extKeys
cc 97:113 ^--------------^ 0000000000000000
val 97:113 ^--------------^ 0000000000000000
grp 97:113 ^--------------^ 0000000000000000
val 97:113 ^--------------^ 0000000000000000
pair 88:113 ^-----------------------^ extKeys (0000000000000000
grp 20:113 ^-------------------------------------------------------------------------------------------^ ./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000
val 20:113 ^-------------------------------------------------------------------------------------------^ ./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000
pair 0:113 ^---------------------------------------------------------------------------------------------------------------^ LoadResources path (./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000
msg :LoadResources path (./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000)
format :LoadResources path (#)
{
"LoadResources path": {
"col_0": "./locale/)",
"locale": [
"en"
],
"removeable": [
false
],
"resMap": [
"00007f9ee4195fa0"
],
"extKeys": [
"0000000000000000"
]
}
}

15
test/datafile_simple.25 Normal file
View File

@ -0,0 +1,15 @@
a=1 b=2
key 0:1 ^ a
num 2:3 ^ 1
val 2:3 ^ 1
pair 0:3 ^-^ a=1
key 4:5 ^ b
num 6:7 ^ 2
val 6:7 ^ 2
pair 4:7 ^-^ b=2
msg :a=1 b=2
format :a=# b=#
{
"a": 1,
"b": 2
}

View File

@ -1,5 +1,5 @@
func(arg1="a", arg2="b") func(arg1="a", arg2="b")
key 5:5 ^ key 0:4 ^--^ func
key 5:9 ^--^ arg1 key 5:9 ^--^ arg1
quot 11:12 ^ a quot 11:12 ^ a
val 11:12 ^ a val 11:12 ^ a
@ -9,10 +9,13 @@ quot 21:22 ^ b
val 21:22 ^ b val 21:22 ^ b
pair 15:22 ^-----^ arg2="b pair 15:22 ^-----^ arg2="b
grp 5:22 ^---------------^ arg1="a", arg2="b grp 5:22 ^---------------^ arg1="a", arg2="b
pair 5:22 ^---------------^ arg1="a", arg2="b val 5:22 ^---------------^ arg1="a", arg2="b
pair 0:22 ^--------------------^ func(arg1="a", arg2="b
msg :func(arg1="a", arg2="b") msg :func(arg1="a", arg2="b")
format :func(#) format :func(#)
{ {
"arg1": "a", "func": {
"arg2": "b" "arg1": "a",
"arg2": "b"
}
} }

View File

@ -1,22 +1,30 @@
Succeeded authorizing right 'system.privilege.taskport.debug' by client '/usr/libexec/taskgated' [76339] for authorization created by '/usr/libexec/taskgated' [77395] (100003,1) Succeeded authorizing right 'system.privilege.taskport.debug' by client '/usr/libexec/taskgated' [76339] for authorization created by '/usr/libexec/taskgated' [77395] (100003,1)
key 29:29 ^ word 22:27 ^---^ right
key 22:27 ^---^ right
quot 29:60 ^-----------------------------^ system.privilege.taskport.debug quot 29:60 ^-----------------------------^ system.privilege.taskport.debug
pair 29:60 ^-----------------------------^ system.privilege.taskport.debug val 29:60 ^-----------------------------^ system.privilege.taskport.debug
key 73:73 ^ pair 22:60 ^------------------------------------^ right 'system.privilege.taskport.debug
word 65:71 ^----^ client
key 65:71 ^----^ client
quot 73:95 ^--------------------^ /usr/libexec/taskgated quot 73:95 ^--------------------^ /usr/libexec/taskgated
pair 73:95 ^--------------------^ /usr/libexec/taskgated val 73:95 ^--------------------^ /usr/libexec/taskgated
pair 65:95 ^----------------------------^ client '/usr/libexec/taskgated
key 98:98 ^ key 98:98 ^
num 98:103 ^---^ 76339 num 98:103 ^---^ 76339
val 98:103 ^---^ 76339 val 98:103 ^---^ 76339
grp 98:103 ^---^ 76339 grp 98:103 ^---^ 76339
val 98:103 ^---^ 76339
pair 98:103 ^---^ 76339 pair 98:103 ^---^ 76339
key 135:135 ^ word 131:133 ^^ by
key 131:133 ^^ by
quot 135:157 ^--------------------^ /usr/libexec/taskgated quot 135:157 ^--------------------^ /usr/libexec/taskgated
pair 135:157 ^--------------------^ /usr/libexec/taskgated val 135:157 ^--------------------^ /usr/libexec/taskgated
pair 131:157 ^------------------------^ by '/usr/libexec/taskgated
key 160:160 ^ key 160:160 ^
num 160:165 ^---^ 77395 num 160:165 ^---^ 77395
val 160:165 ^---^ 77395 val 160:165 ^---^ 77395
grp 160:165 ^---^ 77395 grp 160:165 ^---^ 77395
val 160:165 ^---^ 77395
pair 160:165 ^---^ 77395 pair 160:165 ^---^ 77395
key 168:168 ^ key 168:168 ^
num 168:174 ^----^ 100003 num 168:174 ^----^ 100003
@ -24,20 +32,21 @@ pair 160:165
num 175:176 ^ 1 num 175:176 ^ 1
val 175:176 ^ 1 val 175:176 ^ 1
grp 168:176 ^------^ 100003,1 grp 168:176 ^------^ 100003,1
val 168:176 ^------^ 100003,1
pair 168:176 ^------^ 100003,1 pair 168:176 ^------^ 100003,1
msg :Succeeded authorizing right 'system.privilege.taskport.debug' by client '/usr/libexec/taskgated' [76339] for authorization created by '/usr/libexec/taskgated' [77395] (100003,1) msg :Succeeded authorizing right 'system.privilege.taskport.debug' by client '/usr/libexec/taskgated' [76339] for authorization created by '/usr/libexec/taskgated' [77395] (100003,1)
format :Succeeded authorizing right # by client # [#] for authorization created by # [#] (#) format :Succeeded authorizing right # by client # [#] for authorization created by # [#] (#)
{ {
"col_0": "system.privilege.taskport.debug", "right": "system.privilege.taskport.debug",
"col_1": "/usr/libexec/taskgated", "client": "/usr/libexec/taskgated",
"col_2": [ "col_0": [
76339 76339
], ],
"col_3": "/usr/libexec/taskgated", "by": "/usr/libexec/taskgated",
"col_4": [ "col_1": [
77395 77395
], ],
"col_5": [ "col_2": [
100003, 100003,
1 1
] ]

View File

@ -199,6 +199,7 @@ main(int argc, char* argv[])
} }
data_parser::TRACE_FILE = fopen("scanned.dpt", "w"); data_parser::TRACE_FILE = fopen("scanned.dpt", "w");
setvbuf(data_parser::TRACE_FILE, nullptr, _IONBF, 0);
data_scanner ds(sub_line, body.lr_start); data_scanner ds(sub_line, body.lr_start);

View File

@ -1,23 +1,23 @@
Apr 7 00:49:42 Tim-Abaft-iMac abashed[0]: Aberrant [abhorrent5701Aberrant]: Link up on en0, 1-Aboard, Full-abortive, Abounding flow-abrupt, Absent [796d,2301,0de1,0300,cde1,3800] Apr 7 00:49:42 Tim-Stacks-iMac aback[0]: Abaft [abandoned5701Abaft]: Link up on en0, 1-Gigabit, Full-duplex, Ablaze flow-control, Able [796d,2301,0de1,0300,cde1,3800]
Apr 7 05:49:53 Tim-Abaft-iMac.absorbing Abstracted[17212]: -[absurd abundant] absurd abusive accept: <acceptable:0x511f30 Apr 7 05:49:53 Tim-Stacks-iMac.local Aboard[17212]: -[aboriginal abortive] aboriginal abounding abrasive: <abrupt:0x511f30
accessible=<KSOmahaServer:0x510d80> absent=<KSOmahaServer:0x510d80>
url="https://achondroplasia.example.com/account/accurate2" url="https://achondroplasia.example.com/absorbing/abstracted2"
achiever=0 absurd=0
acid=1 abundant=1
acidic=1 abusive=1
acoustic=1 accept=1
body= body=
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<o:gupdate xmlns:o="http://acinetobacter-infections.example.com/accurate2/acrid" protocol="2.0" version="Act-1.2.0.7709" ismachine="1" requestid="{1ca0a968-cbe9-e75b-d00b-4859609878ea}"> <o:gupdate xmlns:o="http://acinetobacter-infections.example.com/abstracted2/accessible" protocol="2.0" version="KeystoneDaemon-1.2.0.7709" ismachine="1" requestid="{1ca0a968-cbe9-e75b-d00b-4859609878ea}">
<o:os platform="mac" version="activity" sp="10.10.2_x86_64h"></o:os> <o:os platform="mac" version="account" sp="10.10.2_x86_64h"></o:os>
<o:app appid="com.actually.Ad hoc" version="1.2.0.7709" lang="en-us" installage="180" brand="GGLG"> <o:app appid="com.achiever.Acid" version="1.2.0.7709" lang="en-us" installage="180" brand="GGLG">
<o:ping r="1" a="1"></o:ping> <o:ping r="1" a="1"></o:ping>
<o:updatecheck></o:updatecheck> <o:updatecheck></o:updatecheck>
</o:app> </o:app>
</o:gupdate> </o:gupdate>
> >
Apr 7 07:31:56 Tim-Abaft-iMac.absorbing Add[36403]: ADDICTED: The Adhesive adjoining adjustment is admit 10.9.2 adorable of 10.10.2. Use advice's afford afraid to get afterthought aggressive agonizing agree Apr 7 07:31:56 Tim-Stacks-iMac.local Acoustic[36403]: ACOUSTICS: The Act action activity is actually 10.9.2 ad hoc of 10.10.2. Use add's addition adhesive to get admire admit adorable adventurous
Call agreement: Call advice:
Apr 7 07:31:56 Tim-Abaft-iMac.absorbing Add[36403]: 0 Ahead 0x00007fff8a9b3d9b ___Adhesive_Air_airplane_airport + 113 Apr 7 07:31:56 Tim-Stacks-iMac.local Acoustic[36403]: 0 Advise 0x00007fff8a9b3d9b ___Act_Afford_afraid_aftermath + 113
Apr 7 07:31:56 Tim-Abaft-iMac.absorbing Add[36403]: 1 ajar.alarm 0x00007fff8bc84c13 _alcoholic_alert_alike + 8 Apr 7 07:31:56 Tim-Stacks-iMac.local Acoustic[36403]: 1 afternoon.afterthought 0x00007fff8bc84c13 _aggressive_agonizing_agree + 8
Apr 7 07:32:56 Tim-Abaft-iMac.absorbing alive[234]: Bad data { abc, 123, 456 )}] Apr 7 07:32:56 Tim-Stacks-iMac.local agreeable[234]: Bad data { abc, 123, 456 )}]

View File

@ -1,3 +1,3 @@
10.0.0.1 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/aberrant HTTP/1.0" 200 134 "-" "gPXE/0.9.7" 10.0.0.1 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/abashed HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
10.0.0.1 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/abject/ablaze/able.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7" 10.0.0.1 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/abject/ablaze/able.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
10.0.0.1 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/abject/ablaze/aboard.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7" 10.0.0.1 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/abject/ablaze/aboard.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"

View File

@ -1,3 +1,3 @@
log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format  log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format log_msg_values 
  1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL>   1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL> null
 3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>    3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>   null 

View File

@ -1,5 +1,5 @@
log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format  log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format log_msg_values 
0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> 0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> null
  1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL>   1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL> null
 2  <NULL> 2009-07-20 22:59:29.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>    2  <NULL> 2009-07-20 22:59:29.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>   null 
 3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>     3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>   null  

View File

@ -1,5 +1,5 @@
log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format log_format  log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format log_msg_values log_format 
0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> access_log 0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> null access_log
  1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL> access_log   1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL> null access_log
 2  <NULL> 2009-07-20 22:59:29.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>   access_log   2  <NULL> 2009-07-20 22:59:29.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>   null  access_log 
 3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>   access_log   3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>   null  access_log 

View File

@ -1,3 +1,3 @@
log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format  log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format log_msg_values 
0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> 0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> null
2 <NULL> 2009-07-20 22:59:29.000  0 info 0 <NULL> <NULL> <NULL> <NULL> 2 <NULL> 2009-07-20 22:59:29.000  0 info 0 <NULL> <NULL> <NULL> <NULL> null

View File

@ -1,5 +1,5 @@
log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format  log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters log_msg_format log_msg_values 
0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> 0 <NULL> 2009-07-20 22:59:26.000  0 info 0 <NULL> <NULL> <NULL> <NULL> null
  1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL>   1 <NULL> 2009-07-20 22:59:29.000  3000 error 0 <NULL> <NULL> <NULL> <NULL> null
 2  <NULL> 2009-07-20 22:59:29.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>    2  <NULL> 2009-07-20 22:59:29.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>   null 
 3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>     3  <NULL> 2013-02-15 06:00:31.000  112777262000 error   0  <NULL>  <NULL>  <NULL>  <NULL>   null  

View File

@ -5,16 +5,11 @@
"col_0": [ "col_0": [
"VpxLRO" "VpxLRO"
], ],
"col_1": "--", "BEGIN": "lro-846063",
"col_2": "BEGIN", "col_1": "SessionManager",
"col_3": "lro-846063", "col_2": "vim.SessionManager.sessionIsActive",
"col_4": "--", "col_3": "528e6e0c-246d-58b5-3234-278c6e0c5d0d",
"col_5": "SessionManager", "col_4": [
"col_6": "--",
"col_7": "vim.SessionManager.sessionIsActive",
"col_8": "--",
"col_9": "528e6e0c-246d-58b5-3234-278c6e0c5d0d",
"col_10": [
"52c289ac-2563-48d5-8a8e-f178da022c0d" "52c289ac-2563-48d5-8a8e-f178da022c0d"
] ]
} }
@ -25,22 +20,22 @@
"col_0": [ "col_0": [
"VpxLRO" "VpxLRO"
], ],
"col_1": "--", "FINISH": "lro-846063"
"col_2": "FINISH",
"col_3": "lro-846063"
} }
}, },
{ {
"log_body": "Exception was thrown when call vsan-performance-manager for cluster [vim.ClusterComputeResource:domain-c109,Cluster-52] perf metrics: N3Vim5Fault8NotFound9ExceptionE(Fault cause: vim.fault.NotFound\n--> )", "log_body": "Exception was thrown when call vsan-performance-manager for cluster [vim.ClusterComputeResource:domain-c109,Cluster-52] perf metrics: N3Vim5Fault8NotFound9ExceptionE(Fault cause: vim.fault.NotFound\n--> )",
"extract(log_body)": { "extract(log_body)": {
"Exception was thrown when call vsan-performance-manager for cluster [vim.ClusterComputeResource:domain-c109,Cluster-52] perf metrics": { "call": "vsan-performance-manager",
"N3Vim5Fault8NotFound9ExceptionE": [ "cluster": {
"Fault cause", "vim.ClusterComputeResource": "domain-c109",
"vim.fault.NotFound", "col_0": "Cluster-52"
"\n", },
"--", "col_0": "perf",
">" "metrics": "",
] "N3Vim5Fault8NotFound9ExceptionE": {
"Fault cause": "vim.fault.NotFound",
"col_0": ">"
} }
} }
} }

View File

@ -1,13 +1,11 @@
2013-02-11 06:42:34,310:INFO:com.twisted:Site starting on 8099 2013-02-11 06:42:34,310:INFO:com.twisted:Site starting on 8099
key 29:29 ^ word 55:57 ^^ on
key 29:40 ^---------^ com.twisted key 55:57 ^^ on
pair 29:40 ^---------^ com.twisted
key 58:58 ^
num 58:62 ^--^ 8099 num 58:62 ^--^ 8099
pair 58:62 ^--^ 8099 val 58:62 ^--^ 8099
pair 55:62 ^-----^ on 8099
msg ::com.twisted:Site starting on 8099 msg ::com.twisted:Site starting on 8099
format ::#:Site starting on # format ::com.twisted:Site starting on #
{ {
"col_0": "com.twisted", "on": 8099
"col_1": 8099
} }

View File

@ -1,40 +1,40 @@
Apr 11 16:43:25 localhost smartd[2532]: Device: /dev/sda [SAT], VBOX HARDDISK, S/N:VBc8882b62-a0263a39, FW:1.0, 17.1 GB Apr 11 16:43:25 localhost smartd[2532]: Device: /dev/sda [SAT], VBOX HARDDISK, S/N:VBc8882b62-a0263a39, FW:1.0, 17.1 GB
key 40:46 ^----^ Device key 48:48 ^
path 48:56 ^------^ /dev/sda path 48:56 ^------^ /dev/sda
wspc 56:57 ^ val 48:56 ^------^ /dev/sda
sym 58:61 ^-^ SAT pair 48:56 ^------^ /dev/sda
val 58:61 ^-^ SAT key 58:58 ^
grp 58:61 ^-^ SAT sym 58:61 ^-^ SAT
val 48:61 ^-----------^ /dev/sda [SAT val 58:61 ^-^ SAT
pair 40:61 ^-------------------^ Device: /dev/sda [SAT grp 58:61 ^-^ SAT
key 64:64 ^ val 58:61 ^-^ SAT
sym 64:68 ^--^ VBOX pair 58:61 ^-^ SAT
wspc 68:69 ^ key 64:68 ^--^ VBOX
sym 69:77 ^------^ HARDDISK sym 69:77 ^------^ HARDDISK
val 64:77 ^-----------^ VBOX HARDDISK val 69:77 ^------^ HARDDISK
pair 64:77 ^-----------^ VBOX HARDDISK pair 64:77 ^-----------^ VBOX HARDDISK
key 79:79 ^ key 79:82 ^-^ S/N
sym 79:82 ^-^ S/N id 83:102 ^-----------------^ VBc8882b62-a0263a39
coln 82:83 ^ : val 83:102 ^-----------------^ VBc8882b62-a0263a39
sym 83:102 ^-----------------^ VBc8882b62-a0263a39 pair 79:102 ^---------------------^ S/N:VBc8882b62-a0263a39
val 79:102 ^---------------------^ S/N:VBc8882b62-a0263a39 key 104:106 ^^ FW
pair 79:102 ^---------------------^ S/N:VBc8882b62-a0263a39 num 107:110 ^-^ 1.0
key 104:106 ^^ FW val 107:110 ^-^ 1.0
num 107:110 ^-^ 1.0 pair 104:110 ^----^ FW:1.0
val 107:110 ^-^ 1.0 key 112:112 ^
pair 104:110 ^----^ FW:1.0 num 112:116 ^--^ 17.1
key 112:112 ^ sym 117:119 ^^ GB
num 112:116 ^--^ 17.1 val 112:119 ^-----^ 17.1 GB
wspc 116:117 ^ pair 112:119 ^-----^ 17.1 GB
sym 117:119 ^^ GB msg :Device: /dev/sda [SAT], VBOX HARDDISK, S/N:VBc8882b62-a0263a39, FW:1.0, 17.1 GB
val 112:119 ^-----^ 17.1 GB format :Device: # [#], VBOX #, S/N:#, FW:#, #
pair 112:119 ^-----^ 17.1 GB
msg :Device: /dev/sda [SAT], VBOX HARDDISK, S/N:VBc8882b62-a0263a39, FW:1.0, 17.1 GB
format :Device: #], #, #, FW:#, #
{ {
"Device": "/dev/sda [SAT", "col_0": "/dev/sda",
"col_0": "VBOX HARDDISK", "col_1": [
"col_1": "S/N:VBc8882b62-a0263a39", "SAT"
],
"VBOX": "HARDDISK",
"S/N": "VBc8882b62-a0263a39",
"FW": 1.0, "FW": 1.0,
"col_2": "17.1 GB" "col_2": "17.1 GB"
} }

View File

@ -0,0 +1,26 @@
2024-01-10T05:27:07.860Z info vmware-vum-server[27909] [Originator@6876 sub=JobDispatcher] [JobDispatcher 2258] Removing task 52b9d918-efe7-29a6-6d38-6eee37e76f87 that imposed VMware vSphere Update Manager load:1, new load: 0, task active Load: 0
word 122:126 ^--^ task
key 122:126 ^--^ task
uuid 127:163 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
val 127:163 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
pair 122:163 ^---------------------------------------^ task 52b9d918-efe7-29a6-6d38-6eee37e76f87
key 207:211 ^--^ load
num 212:213 ^ 1
val 212:213 ^ 1
pair 207:213 ^----^ load:1
key 215:223 ^------^ new load
num 225:226 ^ 0
val 225:226 ^ 0
pair 215:226 ^---------^ new load: 0
key 228:244 ^--------------^ task active Load
num 246:247 ^ 0
val 246:247 ^ 0
pair 228:247 ^-----------------^ task active Load: 0
msg :Removing task 52b9d918-efe7-29a6-6d38-6eee37e76f87 that imposed VMware vSphere Update Manager load:1, new load: 0, task active Load: 0
format :Removing task # that imposed VMware vSphere Update Manager load:#, new load: #, task active Load: #
{
"task": "52b9d918-efe7-29a6-6d38-6eee37e76f87",
"load": 1,
"new load": 0,
"task active Load": 0
}

View File

@ -0,0 +1,13 @@
2024-01-10T14:29:28.998Z info vmware-vum-server[136895] [Originator@6876 sub=VumVapiAuthzFilter opID=4d3bd186-a9bf-40d3-9b88-5570f530048f] [RequireAdminUserAuthz 362] RequireAdminUserAuthz::Invoke Method is com.vmware.esx.settings.clusters.configuration.drafts.apply
key 167:167 ^
sym 167:196 ^---------------------------^ RequireAdminUserAuthz::Invoke
pair 167:196 ^---------------------------^ RequireAdminUserAuthz::Invoke
key 207:207 ^
sym 207:266 ^---------------------------------------------------------^ com.vmware.esx.settings.clusters.configuration.drafts.apply
pair 207:266 ^---------------------------------------------------------^ com.vmware.esx.settings.clusters.configuration.drafts.apply
msg :RequireAdminUserAuthz::Invoke Method is com.vmware.esx.settings.clusters.configuration.drafts.apply
format :# Method is #
{
"col_0": "RequireAdminUserAuthz::Invoke",
"col_1": "com.vmware.esx.settings.clusters.configuration.drafts.apply"
}

View File

@ -1,17 +1,19 @@
Apr 29 22:32:27 tstack-centos5 dhclient: bound to 10.1.10.62 -- renewal in 55327 seconds Apr 29 22:32:27 tstack-centos5 dhclient: bound to 10.1.10.62 -- renewal in 55327 seconds
key 50:50 ^ word 47:49 ^^ to
key 47:49 ^^ to
ipv4 50:60 ^--------^ 10.1.10.62 ipv4 50:60 ^--------^ 10.1.10.62
pair 50:60 ^--------^ 10.1.10.62 val 50:60 ^--------^ 10.1.10.62
key 61:61 ^ pair 47:60 ^-----------^ to 10.1.10.62
sym 61:63 ^^ -- key 64:64 ^
pair 61:63 ^^ -- word 64:71 ^-----^ renewal
key 75:75 ^ word 72:74 ^^ in
num 75:80 ^---^ 55327 num 75:80 ^---^ 55327
pair 75:80 ^---^ 55327 word 81:88 ^-----^ seconds
val 64:88 ^----------------------^ renewal in 55327 seconds
pair 64:88 ^----------------------^ renewal in 55327 seconds
msg :bound to 10.1.10.62 -- renewal in 55327 seconds msg :bound to 10.1.10.62 -- renewal in 55327 seconds
format :bound to # # renewal in # seconds format :bound to # -- #
{ {
"col_0": "10.1.10.62", "to": "10.1.10.62",
"col_1": "--", "col_0": "renewal in 55327 seconds"
"col_2": 55327
} }

View File

@ -0,0 +1,33 @@
Mar 16 08:09:58 app-1 kernel: [ 0.000000] BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
key 35:35 ^
num 35:43 ^------^ 0.000000
val 35:43 ^------^ 0.000000
grp 35:43 ^------^ 0.000000
val 35:43 ^------^ 0.000000
pair 35:43 ^------^ 0.000000
key 46:55 ^-------^ BIOS-e820
hex 57:73 ^--------------^ 00000000000e8000
val 57:73 ^--------------^ 00000000000e8000
pair 46:73 ^-------------------------^ BIOS-e820: 00000000000e8000
key 76:76 ^
hexd 76:92 ^--------------^ 0000000000100000
val 76:92 ^--------------^ 0000000000100000
pair 76:92 ^--------------^ 0000000000100000
key 94:94 ^
word 94:102 ^------^ reserved
val 94:102 ^------^ reserved
grp 94:102 ^------^ reserved
val 94:102 ^------^ reserved
pair 94:102 ^------^ reserved
msg :[ 0.000000] BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
format :[ #] BIOS-e820: # - # (#)
{
"col_0": [
0.000000
],
"BIOS-e820": "00000000000e8000",
"col_1": "0000000000100000",
"col_2": [
"reserved"
]
}

View File

@ -0,0 +1,43 @@
2024-01-11T10:46:05.874Z info vmware-vum-server[1243065] [Originator@6876 sub=EHP opID=eb9d737f-fa4f-421d-9beb-ce31fb27938f] [host-553] [vSphere HA] [com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state] returned status: OK
key 126:126 ^
id 126:134 ^------^ host-553
val 126:134 ^------^ host-553
grp 126:134 ^------^ host-553
val 126:134 ^------^ host-553
pair 126:134 ^------^ host-553
key 137:137 ^
sym 137:144 ^-----^ vSphere
sym 145:147 ^^ HA
val 137:147 ^--------^ vSphere HA
grp 137:147 ^--------^ vSphere HA
val 137:147 ^--------^ vSphere HA
pair 137:147 ^--------^ vSphere HA
key 150:150 ^
sym 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
val 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
grp 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
val 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
pair 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
key 208:208 ^
word 208:216 ^------^ returned
val 208:216 ^------^ returned
pair 208:216 ^------^ returned
key 217:223 ^----^ status
sym 225:227 ^^ OK
val 225:227 ^^ OK
pair 217:227 ^--------^ status: OK
msg :[host-553] [vSphere HA] [com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state] returned status: OK
format :[#] [#] [#] # status: #
{
"col_0": [
"host-553"
],
"col_1": [
"vSphere HA"
],
"col_2": [
"com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state"
],
"col_3": "returned",
"status": "OK"
}

View File

@ -0,0 +1,52 @@
2024-01-10T05:26:20.440Z error vmware-vum-server[28046] [Originator@6876 sub=Key] [key 59] [backtrace begin] product: VMware Update Manager, version: 8.0.3, build: build-22994205, tag: vmware-vum-server, cpu: x86_64, os: linux, buildType: release
key 92:92 ^
word 92:101 ^-------^ backtrace
word 102:107 ^---^ begin
val 92:107 ^-------------^ backtrace begin
grp 92:107 ^-------------^ backtrace begin
val 92:107 ^-------------^ backtrace begin
pair 92:107 ^-------------^ backtrace begin
key 109:116 ^-----^ product
sym 118:124 ^----^ VMware
word 125:131 ^----^ Update
word 132:139 ^-----^ Manager
val 118:139 ^-------------------^ VMware Update Manager
pair 109:139 ^----------------------------^ product: VMware Update Manager
key 141:148 ^-----^ version
vers 150:155 ^---^ 8.0.3
val 150:155 ^---^ 8.0.3
pair 141:155 ^------------^ version: 8.0.3
key 157:162 ^---^ build
id 164:178 ^------------^ build-22994205
val 164:178 ^------------^ build-22994205
pair 157:178 ^-------------------^ build: build-22994205
key 180:183 ^-^ tag
id 185:202 ^---------------^ vmware-vum-server
val 185:202 ^---------------^ vmware-vum-server
pair 180:202 ^--------------------^ tag: vmware-vum-server
key 204:207 ^-^ cpu
sym 209:215 ^----^ x86_64
val 209:215 ^----^ x86_64
pair 204:215 ^---------^ cpu: x86_64
key 217:219 ^^ os
word 221:226 ^---^ linux
val 221:226 ^---^ linux
pair 217:226 ^-------^ os: linux
key 228:237 ^-------^ buildType
word 239:246 ^-----^ release
val 239:246 ^-----^ release
pair 228:246 ^----------------^ buildType: release
msg :[backtrace begin] product: VMware Update Manager, version: 8.0.3, build: build-22994205, tag: vmware-vum-server, cpu: x86_64, os: linux, buildType: release
format :[#] product: #, version: #, build: #, tag: #, cpu: #, os: #, buildType: #
{
"col_0": [
"backtrace begin"
],
"product": "VMware Update Manager",
"version": "8.0.3",
"build": "build-22994205",
"tag": "vmware-vum-server",
"cpu": "x86_64",
"os": "linux",
"buildType": "release"
}

View File

@ -0,0 +1,135 @@
2021-09-25T11:22:08.034Z info vsand[1000946202] [opID=SWI-5e21ef1d-ddc1-f459 VsanPyVmomiProfiler::logProfile] VIS.GetFileShareObjects: 0.01s, consumed: 97564KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 117872KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
key 112:135 ^---------------------^ VIS.GetFileShareObjects
num 137:141 ^--^ 0.01
unit 141:142 ^ s
meas 137:142 ^---^ 0.01s
val 137:142 ^---^ 0.01s
pair 112:142 ^----------------------------^ VIS.GetFileShareObjects: 0.01s
key 144:152 ^------^ consumed
num 154:159 ^---^ 97564
unit 159:161 ^^ KB
meas 154:161 ^-----^ 97564KB
val 154:161 ^-----^ 97564KB
pair 144:161 ^---------------^ consumed: 97564KB
key 164:164 ^
num 164:165 ^ 0
unit 165:167 ^^ KB
meas 164:167 ^-^ 0KB
val 164:167 ^-^ 0KB
grp 164:167 ^-^ 0KB
val 164:167 ^-^ 0KB
pair 164:167 ^-^ 0KB
key 170:182 ^----------^ consumedPeak
num 184:189 ^---^ 98644
unit 189:191 ^^ KB
meas 184:191 ^-----^ 98644KB
val 184:191 ^-----^ 98644KB
pair 170:191 ^-------------------^ consumedPeak: 98644KB
key 194:194 ^
num 194:195 ^ 0
unit 195:197 ^^ KB
meas 194:197 ^-^ 0KB
val 194:197 ^-^ 0KB
grp 194:197 ^-^ 0KB
val 194:197 ^-^ 0KB
pair 194:197 ^-^ 0KB
key 200:212 ^----------^ effectiveMin
num 214:220 ^----^ 117872
unit 220:222 ^^ KB
meas 214:222 ^------^ 117872KB
val 214:222 ^------^ 117872KB
pair 200:222 ^--------------------^ effectiveMin: 117872KB
key 225:225 ^
num 225:226 ^ 0
unit 226:228 ^^ KB
meas 225:228 ^-^ 0KB
val 225:228 ^-^ 0KB
grp 225:228 ^-^ 0KB
val 225:228 ^-^ 0KB
pair 225:228 ^-^ 0KB
key 231:247 ^--------------^ effectiveMinPeak
num 249:255 ^----^ 121336
unit 255:257 ^^ KB
meas 249:257 ^------^ 121336KB
val 249:257 ^------^ 121336KB
pair 231:257 ^------------------------^ effectiveMinPeak: 121336KB
key 260:260 ^
num 260:261 ^ 0
unit 261:263 ^^ KB
meas 260:263 ^-^ 0KB
val 260:263 ^-^ 0KB
grp 260:263 ^-^ 0KB
val 260:263 ^-^ 0KB
pair 260:263 ^-^ 0KB
key 266:282 ^--------------^ requestedMinPeak
num 284:290 ^----^ 121336
unit 290:292 ^^ KB
meas 284:292 ^------^ 121336KB
val 284:292 ^------^ 121336KB
pair 266:292 ^------------------------^ requestedMinPeak: 121336KB
key 295:295 ^
num 295:296 ^ 0
unit 296:298 ^^ KB
meas 295:298 ^-^ 0KB
val 295:298 ^-^ 0KB
grp 295:298 ^-^ 0KB
val 295:298 ^-^ 0KB
pair 295:298 ^-^ 0KB
msg :VIS.GetFileShareObjects: 0.01s, consumed: 97564KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 117872KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
format :VIS.GetFileShareObjects: #, consumed: # (+#), consumedPeak: # (+#), effectiveMin: # (+#), effectiveMinPeak: # (+#), requestedMinPeak: # (+#)
{
"VIS.GetFileShareObjects": [
0.01,
"s"
],
"consumed": [
97564,
"KB"
],
"col_0": [
[
0,
"KB"
]
],
"consumedPeak": [
98644,
"KB"
],
"col_1": [
[
0,
"KB"
]
],
"effectiveMin": [
117872,
"KB"
],
"col_2": [
[
0,
"KB"
]
],
"effectiveMinPeak": [
121336,
"KB"
],
"col_3": [
[
0,
"KB"
]
],
"requestedMinPeak": [
121336,
"KB"
],
"col_4": [
[
0,
"KB"
]
]
}

View File

@ -0,0 +1,26 @@
2024-01-10T05:27:07.452Z info vmware-vum-server[28092] [Originator@6876 sub=com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask] [Task, 524] Task:com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask ID:52b9d918-efe7-29a6-6d38-6eee37e76f87. Combining scan results for 32 hosts
key 145:149 ^--^ Task
sym 150:205 ^-----------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask
val 150:205 ^-----------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask
pair 145:205 ^----------------------------------------------------------^ Task:com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask
key 206:208 ^^ ID
uuid 209:245 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
val 209:245 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
pair 206:245 ^-------------------------------------^ ID:52b9d918-efe7-29a6-6d38-6eee37e76f87
word 270:273 ^-^ for
key 270:273 ^-^ for
num 274:276 ^^ 32
val 274:276 ^^ 32
pair 270:276 ^----^ for 32
key 277:277 ^
word 277:282 ^---^ hosts
val 277:282 ^---^ hosts
pair 277:282 ^---^ hosts
msg :Task:com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask ID:52b9d918-efe7-29a6-6d38-6eee37e76f87. Combining scan results for 32 hosts
format :Task:# ID:#. Combining scan results for # #
{
"Task": "com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask",
"ID": "52b9d918-efe7-29a6-6d38-6eee37e76f87",
"for": 32,
"col_0": "hosts"
}

View File

@ -17,10 +17,8 @@ word 88:92
pair 83:92 ^-------^ USER=root pair 83:92 ^-------^ USER=root
key 95:102 ^-----^ COMMAND key 95:102 ^-----^ COMMAND
path 103:115 ^----------^ /usr/bin/env path 103:115 ^----------^ /usr/bin/env
wspc 115:116 ^
sym 116:120 ^--^ VAR1 sym 116:120 ^--^ VAR1
word 121:124 ^-^ foo word 121:124 ^-^ foo
wspc 124:125 ^
word 125:127 ^^ ls word 125:127 ^^ ls
val 103:127 ^----------------------^ /usr/bin/env VAR1=foo ls val 103:127 ^----------------------^ /usr/bin/env VAR1=foo ls
pair 95:127 ^------------------------------^ COMMAND=/usr/bin/env VAR1=foo ls pair 95:127 ^------------------------------^ COMMAND=/usr/bin/env VAR1=foo ls

View File

@ -0,0 +1,135 @@
2021-09-22T05:54:16.060Z info vsand[1000946217] [opID=Thread-2 VsanPyVmomiProfiler::logProfile] get-disk-data: 0.00s, consumed: 97792KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 118228KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
key 98:111 ^-----------^ get-disk-data
num 113:117 ^--^ 0.00
unit 117:118 ^ s
meas 113:118 ^---^ 0.00s
val 113:118 ^---^ 0.00s
pair 98:118 ^------------------^ get-disk-data: 0.00s
key 120:128 ^------^ consumed
num 130:135 ^---^ 97792
unit 135:137 ^^ KB
meas 130:137 ^-----^ 97792KB
val 130:137 ^-----^ 97792KB
pair 120:137 ^---------------^ consumed: 97792KB
key 140:140 ^
num 140:141 ^ 0
unit 141:143 ^^ KB
meas 140:143 ^-^ 0KB
val 140:143 ^-^ 0KB
grp 140:143 ^-^ 0KB
val 140:143 ^-^ 0KB
pair 140:143 ^-^ 0KB
key 146:158 ^----------^ consumedPeak
num 160:165 ^---^ 98644
unit 165:167 ^^ KB
meas 160:167 ^-----^ 98644KB
val 160:167 ^-----^ 98644KB
pair 146:167 ^-------------------^ consumedPeak: 98644KB
key 170:170 ^
num 170:171 ^ 0
unit 171:173 ^^ KB
meas 170:173 ^-^ 0KB
val 170:173 ^-^ 0KB
grp 170:173 ^-^ 0KB
val 170:173 ^-^ 0KB
pair 170:173 ^-^ 0KB
key 176:188 ^----------^ effectiveMin
num 190:196 ^----^ 118228
unit 196:198 ^^ KB
meas 190:198 ^------^ 118228KB
val 190:198 ^------^ 118228KB
pair 176:198 ^--------------------^ effectiveMin: 118228KB
key 201:201 ^
num 201:202 ^ 0
unit 202:204 ^^ KB
meas 201:204 ^-^ 0KB
val 201:204 ^-^ 0KB
grp 201:204 ^-^ 0KB
val 201:204 ^-^ 0KB
pair 201:204 ^-^ 0KB
key 207:223 ^--------------^ effectiveMinPeak
num 225:231 ^----^ 121336
unit 231:233 ^^ KB
meas 225:233 ^------^ 121336KB
val 225:233 ^------^ 121336KB
pair 207:233 ^------------------------^ effectiveMinPeak: 121336KB
key 236:236 ^
num 236:237 ^ 0
unit 237:239 ^^ KB
meas 236:239 ^-^ 0KB
val 236:239 ^-^ 0KB
grp 236:239 ^-^ 0KB
val 236:239 ^-^ 0KB
pair 236:239 ^-^ 0KB
key 242:258 ^--------------^ requestedMinPeak
num 260:266 ^----^ 121336
unit 266:268 ^^ KB
meas 260:268 ^------^ 121336KB
val 260:268 ^------^ 121336KB
pair 242:268 ^------------------------^ requestedMinPeak: 121336KB
key 271:271 ^
num 271:272 ^ 0
unit 272:274 ^^ KB
meas 271:274 ^-^ 0KB
val 271:274 ^-^ 0KB
grp 271:274 ^-^ 0KB
val 271:274 ^-^ 0KB
pair 271:274 ^-^ 0KB
msg :get-disk-data: 0.00s, consumed: 97792KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 118228KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
format :get-disk-data: #, consumed: # (+#), consumedPeak: # (+#), effectiveMin: # (+#), effectiveMinPeak: # (+#), requestedMinPeak: # (+#)
{
"get-disk-data": [
0.00,
"s"
],
"consumed": [
97792,
"KB"
],
"col_0": [
[
0,
"KB"
]
],
"consumedPeak": [
98644,
"KB"
],
"col_1": [
[
0,
"KB"
]
],
"effectiveMin": [
118228,
"KB"
],
"col_2": [
[
0,
"KB"
]
],
"effectiveMinPeak": [
121336,
"KB"
],
"col_3": [
[
0,
"KB"
]
],
"requestedMinPeak": [
121336,
"KB"
],
"col_4": [
[
0,
"KB"
]
]
}

View File

@ -0,0 +1,16 @@
2024-01-11T10:46:03.218Z info vmware-vum-server[28274] [Originator@6876 sub=HostLocator opID=eb9d737f-fa4f-421d-9beb-ce31fb27938f] [hostLocator 239] Getting Management IP for host host-556: 10.172.44.70
word 175:179 ^--^ host
key 175:179 ^--^ host
id 180:188 ^------^ host-556
val 180:188 ^------^ host-556
pair 175:188 ^-----------^ host host-556
key 190:190 ^
ipv4 190:202 ^----------^ 10.172.44.70
val 190:202 ^----------^ 10.172.44.70
pair 190:202 ^----------^ 10.172.44.70
msg :Getting Management IP for host host-556: 10.172.44.70
format :Getting Management IP for host #: #
{
"host": "host-556",
"col_0": "10.172.44.70"
}

View File

@ -3,6 +3,7 @@
path 43:64 ^-------------------^ /sbin/dhclient-script path 43:64 ^-------------------^ /sbin/dhclient-script
val 43:64 ^-------------------^ /sbin/dhclient-script val 43:64 ^-------------------^ /sbin/dhclient-script
pair 43:64 ^-------------------^ /sbin/dhclient-script pair 43:64 ^-------------------^ /sbin/dhclient-script
word 67:74 ^-----^ updated
key 67:74 ^-----^ updated key 67:74 ^-----^ updated
path 75:91 ^--------------^ /etc/resolv.conf path 75:91 ^--------------^ /etc/resolv.conf
val 75:91 ^--------------^ /etc/resolv.conf val 75:91 ^--------------^ /etc/resolv.conf

View File

@ -3,19 +3,14 @@
quot 49:49 ^ quot 49:49 ^
val 49:49 ^ val 49:49 ^
pair 43:49 ^----^ vmnet: pair 43:49 ^----^ vmnet:
key 50:67 ^---------------^ VNetUserIf_Create
word 69:76 ^-----^ created
wspc 76:77 ^
sym 77:83 ^----^ userIf
wspc 83:84 ^
word 84:86 ^^ at word 84:86 ^^ at
wspc 86:87 ^ key 84:86 ^^ at
hex 87:105 ^----------------^ 0xffffff802644f400 hex 87:105 ^----------------^ 0xffffff802644f400
val 69:105 ^----------------------------------^ created userIf at 0xffffff802644f400 val 87:105 ^----------------^ 0xffffff802644f400
pair 50:105 ^-----------------------------------------------------^ VNetUserIf_Create: created userIf at 0xffffff802644f400 pair 84:105 ^-------------------^ at 0xffffff802644f400
msg :vmnet: VNetUserIf_Create: created userIf at 0xffffff802644f400 msg :vmnet: VNetUserIf_Create: created userIf at 0xffffff802644f400
format :vmnet:# VNetUserIf_Create: # format :vmnet:# VNetUserIf_Create: created userIf at #
{ {
"vmnet": "", "vmnet": "",
"VNetUserIf_Create": "created userIf at 0xffffff802644f400" "at": "0xffffff802644f400"
} }

View File

@ -1,23 +1,22 @@
Apr 29 08:13:42 tstack-centos5 dhclient: DHCPNAK from 10.1.10.1 (xid=0x4e17f141) Apr 29 08:13:42 tstack-centos5 dhclient: DHCPNAK from 10.1.10.1 (xid=0x4e17f141)
key 41:41 ^ word 49:53 ^--^ from
sym 41:48 ^-----^ DHCPNAK key 49:53 ^--^ from
pair 41:48 ^-----^ DHCPNAK
key 54:54 ^
ipv4 54:63 ^-------^ 10.1.10.1 ipv4 54:63 ^-------^ 10.1.10.1
pair 54:63 ^-------^ 10.1.10.1 val 54:63 ^-------^ 10.1.10.1
pair 49:63 ^------------^ from 10.1.10.1
key 65:65 ^ key 65:65 ^
key 65:68 ^-^ xid key 65:68 ^-^ xid
hex 69:79 ^--------^ 0x4e17f141 hex 69:79 ^--------^ 0x4e17f141
val 69:79 ^--------^ 0x4e17f141 val 69:79 ^--------^ 0x4e17f141
pair 65:79 ^------------^ xid=0x4e17f141 pair 65:79 ^------------^ xid=0x4e17f141
grp 65:79 ^------------^ xid=0x4e17f141 grp 65:79 ^------------^ xid=0x4e17f141
val 65:79 ^------------^ xid=0x4e17f141
pair 65:79 ^------------^ xid=0x4e17f141 pair 65:79 ^------------^ xid=0x4e17f141
msg :DHCPNAK from 10.1.10.1 (xid=0x4e17f141) msg :DHCPNAK from 10.1.10.1 (xid=0x4e17f141)
format :# from # (#) format :DHCPNAK from # (#)
{ {
"col_0": "DHCPNAK", "from": "10.1.10.1",
"col_1": "10.1.10.1", "col_0": [
"col_2": [
{ {
"xid": "0x4e17f141" "xid": "0x4e17f141"
} }

View File

@ -0,0 +1,15 @@
2024-01-10T05:22:13.258Z info vmware-vum-server[28092] [Originator@6876 sub=ClusterConfigListener] [clusterConfigListener 60] Got UUID for host: host-24 -> 4c4c4544-0052-4310-8057-b3c04f543532
key 126:143 ^---------------^ Got UUID for host
id 145:152 ^-----^ host-24
val 145:152 ^-----^ host-24
pair 126:152 ^------------------------^ Got UUID for host: host-24
key 156:156 ^
uuid 156:192 ^----------------------------------^ 4c4c4544-0052-4310-8057-b3c04f543532
val 156:192 ^----------------------------------^ 4c4c4544-0052-4310-8057-b3c04f543532
pair 156:192 ^----------------------------------^ 4c4c4544-0052-4310-8057-b3c04f543532
msg :Got UUID for host: host-24 -> 4c4c4544-0052-4310-8057-b3c04f543532
format :Got UUID for host: # -> #
{
"Got UUID for host": "host-24",
"col_0": "4c4c4544-0052-4310-8057-b3c04f543532"
}

View File

@ -1,8 +1,21 @@
Jul 14 14:31:06 linjenkins3 kernel: [31809412.513897] [UFW BLOCK] IN=eth0 OUT= MAC=40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00 SRC=69.60.116.202 DST=173.203.237.224 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=15852 PROTO=TCP SPT=43998 DPT=3389 WINDOW=3072 RES=0x00 SYN URGP=0 Jul 14 14:31:06 linjenkins3 kernel: [31809412.513897] [UFW BLOCK] IN=eth0 OUT= MAC=40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00 SRC=69.60.116.202 DST=173.203.237.224 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=15852 PROTO=TCP SPT=43998 DPT=3389 WINDOW=3072 RES=0x00 SYN URGP=0
key 37:68 ^-----------------------------^ 31809412.513897] [UFW BLOCK] IN key 37:37 ^
num 37:52 ^-------------^ 31809412.513897
val 37:52 ^-------------^ 31809412.513897
grp 37:52 ^-------------^ 31809412.513897
val 37:52 ^-------------^ 31809412.513897
pair 37:52 ^-------------^ 31809412.513897
key 55:55 ^
sym 55:58 ^-^ UFW
sym 59:64 ^---^ BLOCK
val 55:64 ^-------^ UFW BLOCK
grp 55:64 ^-------^ UFW BLOCK
val 55:64 ^-------^ UFW BLOCK
pair 55:64 ^-------^ UFW BLOCK
key 66:68 ^^ IN
sym 69:73 ^--^ eth0 sym 69:73 ^--^ eth0
val 69:73 ^--^ eth0 val 69:73 ^--^ eth0
pair 37:73 ^----------------------------------^ 31809412.513897] [UFW BLOCK] IN=eth0 pair 66:73 ^-----^ IN=eth0
key 74:77 ^-^ OUT key 74:77 ^-^ OUT
quot 78:78 ^ quot 78:78 ^
val 78:78 ^ val 78:78 ^
@ -64,9 +77,15 @@ pair 246:254
val 264:265 ^ 0 val 264:265 ^ 0
pair 259:265 ^----^ URGP=0 pair 259:265 ^----^ URGP=0
msg :[31809412.513897] [UFW BLOCK] IN=eth0 OUT= MAC=40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00 SRC=69.60.116.202 DST=173.203.237.224 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=15852 PROTO=TCP SPT=43998 DPT=3389 WINDOW=3072 RES=0x00 SYN URGP=0 msg :[31809412.513897] [UFW BLOCK] IN=eth0 OUT= MAC=40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00 SRC=69.60.116.202 DST=173.203.237.224 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=15852 PROTO=TCP SPT=43998 DPT=3389 WINDOW=3072 RES=0x00 SYN URGP=0
format :[31809412.513897] [UFW BLOCK] IN=# OUT=# MAC=# SRC=# DST=# LEN=# TOS=# PREC=# TTL=# ID=# PROTO=# SPT=# DPT=# WINDOW=# RES=# SYN URGP=# format :[#] [#] IN=# OUT=# MAC=# SRC=# DST=# LEN=# TOS=# PREC=# TTL=# ID=# PROTO=# SPT=# DPT=# WINDOW=# RES=# SYN URGP=#
{ {
"31809412.513897] [UFW BLOCK] IN": "eth0", "col_0": [
31809412.513897
],
"col_1": [
"UFW BLOCK"
],
"IN": "eth0",
"OUT": "", "OUT": "",
"MAC": "40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00", "MAC": "40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00",
"SRC": "69.60.116.202", "SRC": "69.60.116.202",

View File

@ -1,35 +1,34 @@
Apr 29 08:13:42 tstack-centos5 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0xd16b79d) Apr 29 08:13:42 tstack-centos5 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0xd16b79d)
key 41:41 ^ word 62:64 ^^ to
sym 41:53 ^----------^ DHCPDISCOVER key 62:64 ^^ to
pair 41:53 ^----------^ DHCPDISCOVER
key 57:57 ^
sym 57:61 ^--^ eth0
pair 57:61 ^--^ eth0
key 65:65 ^
ipv4 65:80 ^-------------^ 255.255.255.255 ipv4 65:80 ^-------------^ 255.255.255.255
pair 65:80 ^-------------^ 255.255.255.255 val 65:80 ^-------------^ 255.255.255.255
key 86:86 ^ pair 62:80 ^----------------^ to 255.255.255.255
word 81:85 ^--^ port
key 81:85 ^--^ port
num 86:88 ^^ 67 num 86:88 ^^ 67
pair 86:88 ^^ 67 val 86:88 ^^ 67
key 98:98 ^ pair 81:88 ^-----^ port 67
word 89:97 ^------^ interval
key 89:97 ^------^ interval
num 98:99 ^ 5 num 98:99 ^ 5
pair 98:99 ^ 5 val 98:99 ^ 5
pair 89:99 ^--------^ interval 5
key 101:101 ^ key 101:101 ^
key 101:104 ^-^ xid key 101:104 ^-^ xid
hex 105:114 ^-------^ 0xd16b79d hex 105:114 ^-------^ 0xd16b79d
val 105:114 ^-------^ 0xd16b79d val 105:114 ^-------^ 0xd16b79d
pair 101:114 ^-----------^ xid=0xd16b79d pair 101:114 ^-----------^ xid=0xd16b79d
grp 101:114 ^-----------^ xid=0xd16b79d grp 101:114 ^-----------^ xid=0xd16b79d
val 101:114 ^-----------^ xid=0xd16b79d
pair 101:114 ^-----------^ xid=0xd16b79d pair 101:114 ^-----------^ xid=0xd16b79d
msg :DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0xd16b79d) msg :DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0xd16b79d)
format :# on # to # port # interval # (#) format :DHCPDISCOVER on eth0 to # port # interval # (#)
{ {
"col_0": "DHCPDISCOVER", "to": "255.255.255.255",
"col_1": "eth0", "port": 67,
"col_2": "255.255.255.255", "interval": 5,
"col_3": 67, "col_0": [
"col_4": 5,
"col_5": [
{ {
"xid": "0xd16b79d" "xid": "0xd16b79d"
} }

View File

@ -1,31 +1,28 @@
Apr 29 22:32:26 tstack-centos5 dhclient: DHCPREQUEST on eth0 to 10.1.10.1 port 67 (xid=0xd16b79d) Apr 29 22:32:26 tstack-centos5 dhclient: DHCPREQUEST on eth0 to 10.1.10.1 port 67 (xid=0xd16b79d)
key 41:41 ^ word 61:63 ^^ to
sym 41:52 ^---------^ DHCPREQUEST key 61:63 ^^ to
pair 41:52 ^---------^ DHCPREQUEST
key 56:56 ^
sym 56:60 ^--^ eth0
pair 56:60 ^--^ eth0
key 64:64 ^
ipv4 64:73 ^-------^ 10.1.10.1 ipv4 64:73 ^-------^ 10.1.10.1
pair 64:73 ^-------^ 10.1.10.1 val 64:73 ^-------^ 10.1.10.1
key 79:79 ^ pair 61:73 ^----------^ to 10.1.10.1
word 74:78 ^--^ port
key 74:78 ^--^ port
num 79:81 ^^ 67 num 79:81 ^^ 67
pair 79:81 ^^ 67 val 79:81 ^^ 67
pair 74:81 ^-----^ port 67
key 83:83 ^ key 83:83 ^
key 83:86 ^-^ xid key 83:86 ^-^ xid
hex 87:96 ^-------^ 0xd16b79d hex 87:96 ^-------^ 0xd16b79d
val 87:96 ^-------^ 0xd16b79d val 87:96 ^-------^ 0xd16b79d
pair 83:96 ^-----------^ xid=0xd16b79d pair 83:96 ^-----------^ xid=0xd16b79d
grp 83:96 ^-----------^ xid=0xd16b79d grp 83:96 ^-----------^ xid=0xd16b79d
val 83:96 ^-----------^ xid=0xd16b79d
pair 83:96 ^-----------^ xid=0xd16b79d pair 83:96 ^-----------^ xid=0xd16b79d
msg :DHCPREQUEST on eth0 to 10.1.10.1 port 67 (xid=0xd16b79d) msg :DHCPREQUEST on eth0 to 10.1.10.1 port 67 (xid=0xd16b79d)
format :# on # to # port # (#) format :DHCPREQUEST on eth0 to # port # (#)
{ {
"col_0": "DHCPREQUEST", "to": "10.1.10.1",
"col_1": "eth0", "port": 67,
"col_2": "10.1.10.1", "col_0": [
"col_3": 67,
"col_4": [
{ {
"xid": "0xd16b79d" "xid": "0xd16b79d"
} }

View File

@ -1,23 +1,24 @@
2013-02-11 06:42:34,311:INFO:com.twisted:Starting factory <twisted.web.server.Site instance at 0x1de9290> 2013-02-11 06:42:34,311:INFO:com.twisted:Starting factory <twisted.web.server.Site instance at 0x1de9290>
key 29:29 ^
key 29:40 ^---------^ com.twisted key 29:40 ^---------^ com.twisted
pair 29:40 ^---------^ com.twisted word 41:49 ^------^ Starting
key 59:59 ^ val 41:49 ^------^ Starting
sym 59:82 ^---------------------^ twisted.web.server.Site pair 29:49 ^------------------^ com.twisted:Starting
wspc 82:83 ^ key 50:57 ^-----^ factory
word 83:91 ^------^ instance
wspc 91:92 ^
word 92:94 ^^ at word 92:94 ^^ at
wspc 94:95 ^ key 92:94 ^^ at
hex 95:104 ^-------^ 0x1de9290 hex 95:104 ^-------^ 0x1de9290
val 59:104 ^-------------------------------------------^ twisted.web.server.Site instance at 0x1de9290 val 95:104 ^-------^ 0x1de9290
grp 59:104 ^-------------------------------------------^ twisted.web.server.Site instance at 0x1de9290 pair 92:104 ^----------^ at 0x1de9290
pair 59:104 ^-------------------------------------------^ twisted.web.server.Site instance at 0x1de9290 grp 92:104 ^----------^ at 0x1de9290
val 92:104 ^----------^ at 0x1de9290
pair 50:104 ^----------------------------------------------------^ factory <twisted.web.server.Site instance at 0x1de9290
msg ::com.twisted:Starting factory <twisted.web.server.Site instance at 0x1de9290> msg ::com.twisted:Starting factory <twisted.web.server.Site instance at 0x1de9290>
format ::#:Starting factory <#> format ::com.twisted:# factory <twisted.web.server.Site instance #>
{ {
"col_0": "com.twisted", "com.twisted": "Starting",
"col_1": [ "factory": [
"twisted.web.server.Site instance at 0x1de9290" {
"at": "0x1de9290"
}
] ]
} }

View File

@ -1,23 +1,22 @@
Apr 29 22:32:27 tstack-centos5 dhclient: DHCPACK from 10.1.10.1 (xid=0xd16b79d) Apr 29 22:32:27 tstack-centos5 dhclient: DHCPACK from 10.1.10.1 (xid=0xd16b79d)
key 41:41 ^ word 49:53 ^--^ from
sym 41:48 ^-----^ DHCPACK key 49:53 ^--^ from
pair 41:48 ^-----^ DHCPACK
key 54:54 ^
ipv4 54:63 ^-------^ 10.1.10.1 ipv4 54:63 ^-------^ 10.1.10.1
pair 54:63 ^-------^ 10.1.10.1 val 54:63 ^-------^ 10.1.10.1
pair 49:63 ^------------^ from 10.1.10.1
key 65:65 ^ key 65:65 ^
key 65:68 ^-^ xid key 65:68 ^-^ xid
hex 69:78 ^-------^ 0xd16b79d hex 69:78 ^-------^ 0xd16b79d
val 69:78 ^-------^ 0xd16b79d val 69:78 ^-------^ 0xd16b79d
pair 65:78 ^-----------^ xid=0xd16b79d pair 65:78 ^-----------^ xid=0xd16b79d
grp 65:78 ^-----------^ xid=0xd16b79d grp 65:78 ^-----------^ xid=0xd16b79d
val 65:78 ^-----------^ xid=0xd16b79d
pair 65:78 ^-----------^ xid=0xd16b79d pair 65:78 ^-----------^ xid=0xd16b79d
msg :DHCPACK from 10.1.10.1 (xid=0xd16b79d) msg :DHCPACK from 10.1.10.1 (xid=0xd16b79d)
format :# from # (#) format :DHCPACK from # (#)
{ {
"col_0": "DHCPACK", "from": "10.1.10.1",
"col_1": "10.1.10.1", "col_0": [
"col_2": [
{ {
"xid": "0xd16b79d" "xid": "0xd16b79d"
} }

View File

@ -0,0 +1,22 @@
2022-05-17T07:40:38.051Z In(30) init[1001390328]: inittab: /usr/lib/vmware/configmanager/bin/applyconfig --bootstrap (11740460 us)
key 50:57 ^-----^ inittab
path 59:104 ^-------------------------------------------^ /usr/lib/vmware/configmanager/bin/applyconfig
val 59:104 ^-------------------------------------------^ /usr/lib/vmware/configmanager/bin/applyconfig
pair 50:104 ^----------------------------------------------------^ inittab: /usr/lib/vmware/configmanager/bin/applyconfig
key 105:116 ^---------^ --bootstrap
num 118:126 ^------^ 11740460
val 118:126 ^------^ 11740460
word 127:129 ^^ us
val 127:129 ^^ us
grp 118:129 ^---------^ 11740460 us
val 118:129 ^---------^ 11740460 us
pair 105:129 ^----------------------^ --bootstrap (11740460 us
msg :inittab: /usr/lib/vmware/configmanager/bin/applyconfig --bootstrap (11740460 us)
format :inittab: # --bootstrap (#)
{
"inittab": "/usr/lib/vmware/configmanager/bin/applyconfig",
"--bootstrap": [
11740460,
"us"
]
}

View File

@ -1,8 +1,9 @@
2022-05-17T08:56:54.107Z In(14) settingsd[1001392457]: debug [ConfigStore:66064b9700] File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json does not support type:3 2022-05-17T08:56:54.107Z In(14) settingsd[1001392457]: debug [ConfigStore:66064b9700] File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json does not support type:3
key 91:91 ^ word 86:90 ^--^ File
key 86:90 ^--^ File
path 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json path 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json
val 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json val 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json
pair 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json pair 86:163 ^---------------------------------------------------------------------------^ File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json
key 181:185 ^--^ type key 181:185 ^--^ type
num 186:187 ^ 3 num 186:187 ^ 3
val 186:187 ^ 3 val 186:187 ^ 3
@ -10,6 +11,6 @@ pair 181:187
msg :File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json does not support type:3 msg :File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json does not support type:3
format :File # does not support type:# format :File # does not support type:#
{ {
"col_0": "/usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json", "File": "/usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json",
"type": 3 "type": 3
} }

View File

@ -17,7 +17,6 @@ word 99:103
pair 94:103 ^-------^ USER=root pair 94:103 ^-------^ USER=root
key 106:113 ^-----^ COMMAND key 106:113 ^-----^ COMMAND
path 114:127 ^-----------^ /usr/bin/tail path 114:127 ^-----------^ /usr/bin/tail
wspc 127:128 ^
path 128:145 ^---------------^ /var/log/messages path 128:145 ^---------------^ /var/log/messages
val 114:145 ^-----------------------------^ /usr/bin/tail /var/log/messages val 114:145 ^-----------------------------^ /usr/bin/tail /var/log/messages
pair 106:145 ^-------------------------------------^ COMMAND=/usr/bin/tail /var/log/messages pair 106:145 ^-------------------------------------^ COMMAND=/usr/bin/tail /var/log/messages

View File

@ -0,0 +1,27 @@
2021-09-02T03:36:27.389Z warning fdm[1000873987] [Originator@6876 sub=Cluster opID=SWI-636bf2b7] Sendto[ipv6] fd01:0:106:5:0:a:0:1511: No route to host
key 97:103 ^----^ Sendto
sym 104:108 ^--^ ipv6
val 104:108 ^--^ ipv6
grp 104:108 ^--^ ipv6
val 104:108 ^--^ ipv6
pair 97:108 ^---------^ Sendto[ipv6
key 110:110 ^
ipv6 110:133 ^---------------------^ fd01:0:106:5:0:a:0:1511
val 110:133 ^---------------------^ fd01:0:106:5:0:a:0:1511
pair 110:133 ^---------------------^ fd01:0:106:5:0:a:0:1511
key 135:135 ^
word 135:137 ^^ No
word 138:143 ^---^ route
word 144:146 ^^ to
word 147:151 ^--^ host
val 135:151 ^--------------^ No route to host
pair 135:151 ^--------------^ No route to host
msg :Sendto[ipv6] fd01:0:106:5:0:a:0:1511: No route to host
format :Sendto[#] #: #
{
"Sendto": [
"ipv6"
],
"col_0": "fd01:0:106:5:0:a:0:1511",
"col_1": "No route to host"
}

View File

@ -118,6 +118,8 @@ def handleop(fields):
list_depth[addr] = -1 list_depth[addr] = -1
elif method_name == 'push_back': elif method_name == 'push_back':
el.append((method_args[0], getstr(method_args[1]))) el.append((method_args[0], getstr(method_args[1])))
elif method_name == 'push_front':
el.insert(0, (method_args[0], getstr(method_args[1])))
elif method_name == 'pop_front': elif method_name == 'pop_front':
el.pop(0) el.pop(0)
elif method_name == 'pop_back': elif method_name == 'pop_back':

View File

@ -36,10 +36,10 @@ run_test ${lnav_test} -n \
logfile_syslog_test.2 logfile_syslog_test.2
check_output "all_logs does not work?" <<EOF check_output "all_logs does not work?" <<EOF
log_line,log_part,log_time,log_idle_msecs,log_level,log_mark,log_comment,log_tags,log_annotations,log_filters,log_msg_format,log_msg_schema log_line,log_part,log_time,log_idle_msecs,log_level,log_mark,log_comment,log_tags,log_annotations,log_filters,log_msg_format,log_msg_values,log_msg_schema
0,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,aff2bfc3c61e7b86329b83190f0912b3 0,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,"{""col_0"":""eth0""}",ce6143108d22799c9c7a994e21e7302e
1,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,aff2bfc3c61e7b86329b83190f0912b3 1,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,"{""col_0"":""eth1""}",ce6143108d22799c9c7a994e21e7302e
2,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is down,506560b3c73dee057732e69a3c666718 2,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is down,"{""col_0"":""eth0""}",83cd119b5b6f7e79abff4d28946b7a61
EOF EOF

View File

@ -59,7 +59,7 @@ TEST_CASE("url")
lnav::text_anonymizer ta; lnav::text_anonymizer ta;
CHECK(ta.next(string_fragment::from_const("retrieving https://bob:abc@example.com/fooooooo22/192.168.1.33/barrrrr44?abcdef=foobar&ghijkl=123456&bazzer&ip=192.168.1.2#heading-2")) == CHECK(ta.next(string_fragment::from_const("retrieving https://bob:abc@example.com/fooooooo22/192.168.1.33/barrrrr44?abcdef=foobar&ghijkl=123456&bazzer&ip=192.168.1.2#heading-2")) ==
"aback https://meerkat:67c93775f715ab8ab01178caf86713c6@achondroplasia.example.com/abaft22/10.0.0.1/abashed44?aberrant=abhorrent&abiding=123456&abject&ip=10.0.0.2#able-2"); "aback https://meerkat:67c93775f715ab8ab01178caf86713c6@achondroplasia.example.com/abaft22/10.0.0.1/abashed44?aberrant=abhorrent&abiding=123456&abject&ip=10.0.0.2#heading-2");
} }
TEST_CASE("email") TEST_CASE("email")
@ -127,5 +127,5 @@ TEST_CASE("xml")
lnav::text_anonymizer ta; lnav::text_anonymizer ta;
CHECK(ta.next(string_fragment::from_const("<o:gupdate xmlns:o=\"http://www.google.com/update2/request\" protocol=\"2.0\" version=\"KeystoneDaemon-1.2.0.7709\" ismachine=\"1\" requestid=\"{0DFDBCD1-5E29-4DFC-BD99-31A2397198FE}\">")) == CHECK(ta.next(string_fragment::from_const("<o:gupdate xmlns:o=\"http://www.google.com/update2/request\" protocol=\"2.0\" version=\"KeystoneDaemon-1.2.0.7709\" ismachine=\"1\" requestid=\"{0DFDBCD1-5E29-4DFC-BD99-31A2397198FE}\">")) ==
"<o:gupdate xmlns:o=\"http://achondroplasia.example.com/aback2/abandoned\" protocol=\"2.0\" version=\"Abashed-1.2.0.7709\" ismachine=\"1\" requestid=\"{1ca0a968-cbe9-e75b-d00b-4859609878ea}\">"); "<o:gupdate xmlns:o=\"http://achondroplasia.example.com/aback2/abandoned\" protocol=\"2.0\" version=\"KeystoneDaemon-1.2.0.7709\" ismachine=\"1\" requestid=\"{1ca0a968-cbe9-e75b-d00b-4859609878ea}\">");
} }