diff options
author | 2024-11-16 00:02:36 +0600 | |
---|---|---|
committer | 2024-11-16 00:02:36 +0600 | |
commit | c6f5c7978b9702a07cf89e47d04e38fdec317e35 (patch) | |
tree | 86e7c5a38b33e7a677bdec49f3f50cb4d7343095 | |
parent | 0579207417f92396711ccf4b79d9561e12e42237 (diff) | |
download | log-parser-c6f5c7978b9702a07cf89e47d04e38fdec317e35.tar.gz log-parser-c6f5c7978b9702a07cf89e47d04e38fdec317e35.zip |
Report parsed value even if type is unknown
Signed-off-by: Mubashshir <ahmubashshir@gmail.com>
-rw-r--r-- | src/system.flex | 2 | ||||
-rw-r--r-- | src/system.yy | 44 |
2 files changed, 25 insertions, 21 deletions
diff --git a/src/system.flex b/src/system.flex index e5da5d2..f1f9842 100644 --- a/src/system.flex +++ b/src/system.flex @@ -58,7 +58,7 @@ avg { return parser::make_TAVG(); } : { return parser::make_COLON(); } \/ { return parser::make_SLASH(); } -Package\ id\ {num} {return parser::make_TSENSOR();}; +Package\ id\ {return parser::make_TSENSOR();}; . { /* everything else */ } diff --git a/src/system.yy b/src/system.yy index 73134bc..cd6ddc9 100644 --- a/src/system.yy +++ b/src/system.yy @@ -113,7 +113,6 @@ cpu_block: } | cpu_percent BLANK FLOAT BLANK FLOAT { string name = ([&](auto t) { - cout << t; switch(t) { case token_type::USER: return "user"; case token_type::NICE: return "nice"; @@ -122,7 +121,7 @@ cpu_block: case token_type::IOWP: return "iowait"; case token_type::IRQP: return "hwirq"; case token_type::SIRQ: return "swirq"; - default: return "undefined"; + default: return "undef"; } })($<int>1); @@ -164,16 +163,16 @@ mem_current: ([&](auto mem, int t, uint64_t v) { cout << "mem\t"; switch(t) { - case token_type::TOTAL: mem->set_total(v); cout << "\ttotal" << msg.mem().total(); break; - case token_type::AVAIL: mem->set_avail(v); cout << "\tavail" << msg.mem().avail(); break; - case token_type::CACHE: mem->set_cache(v); cout << "\tcache" << msg.mem().cache(); break; - case token_type::SHARED:mem->set_share(v); cout << "\tshare" << msg.mem().share(); break; - case token_type::TSWAP: mem->set_tswap(v); cout << "\ttswap" << msg.mem().tswap(); break; - case token_type::USWAP: mem->set_uswap(v); cout << "\tuswap" << msg.mem().uswap(); break; - default: break; + case token_type::TOTAL: mem->set_total(v); cout << "total\t" << msg.mem().total(); break; + case token_type::AVAIL: mem->set_avail(v); cout << "avail\t" << msg.mem().avail(); break; + case token_type::CACHE: mem->set_cache(v); cout << "cache\t" << msg.mem().cache(); break; + case token_type::SHARED:mem->set_share(v); cout << "share\t" << msg.mem().share(); break; + case token_type::TSWAP: mem->set_tswap(v); cout << "tswap\t" << msg.mem().tswap(); break; + case token_type::USWAP: mem->set_uswap(v); cout << "uswap\t" << msg.mem().uswap(); break; + default: cout << "undef\t" << v; break; } cout << endl; - })(msg.mutable_mem(), yystack_[2].kind(), $<uint64_t>3); + })(msg.mutable_mem(), yystack_[2].kind(), $ULONG); } ; @@ -190,7 +189,7 @@ tmp_current: case token::TMIN: tmp->set_min(v); cout << "min\t" << tmp->min(); break; case token::TMAX: tmp->set_max(v); cout << "max\t" << tmp->max(); break; case token::TAVG: tmp->set_avg(v); cout << "avg\t" << tmp->avg(); break; - default: break; + default: cout << "und\t" << v; break; } cout << endl; })(msg.mutable_tmp(), yystack_[2].kind(), $<uint64_t>3); @@ -223,7 +222,7 @@ mem_legacy_ram: case token_type::AVAIL: mem->set_avail(v); cout << "\tavail:" << msg.mem().avail(); break; case token_type::CACHE: mem->set_cache(v); cout << "\tcache:" << msg.mem().cache(); break; case token_type::SHARED:mem->set_share(v); cout << "\tshare:" << msg.mem().share(); break; - default: cout << "\tundefined:" << v; break; + default: cout << "\tundef:" << v; break; } })(msg.mutable_mem(), yystack_[2].kind(), $<uint64_t>3); } @@ -234,19 +233,24 @@ mem_legacy_data: | SWAP COLON ULONG SLASH ULONG { msg.mutable_mem()->set_tswap($<uint64_t>5); msg.mutable_mem()->set_uswap($<uint64_t>3); - cout << "\tswap:" << msg.mem().uswap() << "/" << msg.mem().tswap() << endl; + cout << "\n\t\t\tswap:" << msg.mem().uswap() << "/" << msg.mem().tswap() << endl; } ; tmp_legacy: tmp_legacy_block BREAK { - cout << "legacy temp block" << endl; if (! legacy) throw syntax_error("Unknown TEMP Block data."); + cout << endl; }; tmp_legacy_block: - TEMP BLANK TSENSOR tmp_legacy_list + tmp_legacy_id tmp_legacy_list | tmp_legacy_list; +tmp_legacy_id: + TEMP BLANK TSENSOR ULONG { + cout << "tmp\tPackage id " << $ULONG; + } + ; tmp_legacy_list: BLANK tmp_legacy_data | tmp_legacy_list BLANK tmp_legacy_data; @@ -256,11 +260,11 @@ tmp_legacy_data: using token = yy::parser::token::token_kind_type; ([&](auto tmp, token t, uint64_t v) { switch(t) { - case token::CURR: tmp->set_cur(v); break; - case token::TMIN: tmp->set_min(v); break; - case token::TMAX: tmp->set_max(v); break; - case token::TAVG: tmp->set_avg(v); break; - default: break; + case token::CURR: tmp->set_cur(v); cout << "\tcur:" << msg.tmp().cur(); break; + case token::TMIN: tmp->set_min(v); cout << "\tmin:" << msg.tmp().min(); break; + case token::TMAX: tmp->set_max(v); cout << "\tmax:" << msg.tmp().max(); break; + case token::TAVG: tmp->set_avg(v); cout << "\tavg:" << msg.tmp().avg(); break; + default: cout << "\tund:" << v; break; } })(msg.mutable_tmp(), $<token>1, $<uint64_t>3); } |