@@ -138,6 +138,9 @@ ParseFilterItem(Filter &filter, PondGroupSitePayload &group_site,
138
138
} else if (auto host = IsFilter (p, " host" )) {
139
139
if (!filter.hosts .emplace (host).second )
140
140
throw " Duplicate host name" ;
141
+ } else if (auto generator = IsFilter (p, " generator" )) {
142
+ if (!filter.generators .emplace (generator).second )
143
+ throw " Duplicate generator name" ;
141
144
} else if (auto since = IsFilter (p, " since" )) {
142
145
auto t = ParseTimePoint (since);
143
146
filter.since = Net::Log::FromSystem (t.first );
@@ -270,6 +273,9 @@ Query(const PondServerSpecification &server, ConstBuffer<const char *> args)
270
273
for (const auto &i : filter.hosts )
271
274
client.Send (id, PondRequestCommand::FILTER_HOST, i);
272
275
276
+ for (const auto &i : filter.generators )
277
+ client.Send (id, PondRequestCommand::FILTER_GENERATOR, i);
278
+
273
279
const bool single_site = filter.sites .begin () != filter.sites .end () &&
274
280
std::next (filter.sites .begin ()) == filter.sites .end ();
275
281
@@ -575,6 +581,7 @@ try {
575
581
" [site=VALUE] [group_site=[MAX][@SKIP]]\n "
576
582
" [host=VALUE]\n "
577
583
" [uri-prefix=VALUE]\n "
584
+ " [generator=VALUE]\n "
578
585
" [since=ISO8601] [until=ISO8601] [date=YYYY-MM-DD] [today]\n "
579
586
" [window=COUNT[@SKIP]]\n "
580
587
" stats\n "
0 commit comments