-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Event stream filters in console #2231
Comments
…ture/redis-read-replicas
With regards to #3713 (comment) we need to expand the functionality here a bit. There are scenarios where applications have hundreds or thousands of end-devices. This will crash the Console altogether when the event view is open. Hence, it is necessary to enforce some filter for heavy-load situations. Such filters could be:
We could use different levels of enforced filtering and use it for some predefined "events per second"-thresholds. Ideas welcome cc @bafonins @htdvisser @johanstokking |
The number of registered end devices isn't necessarily an indication of the amount of traffic, so I don't think it would be a good idea to do different things depending on the number of registered end devices. My suggestion would be to extend the API to allow filtering on event name. Every events view in the Console would then give the user some UI where they can check/uncheck events they're interested in. The event names that are selected by default can then be adapted to show the most relevant events for a given entity. For the Application overview, we can then filter on |
Blocked on #3817 |
I had originally planned to fix this with a general overhaul of the event stream via #3817, but I think it's necessary to make some quick adjustments now to make the event stream less verbose. A simple solution here is to add a verbose switch to the event stream, which will enable users to filter out many events that only add noise to the event output. I propose the following list of events to be shown by default, when verbosity is deactivated:
I've selected these events based on what is likely of direct interest to users. This includes
Please review this list @htdvisser @johanstokking @neoaggelos @adriansmares, so I can finalize the list and coordinate implementation. |
The list of events LGTM in general with one exception: I would swap |
I think it would also be useful to have these:
|
It's not ignoring them, just hiding them by default. I decided to filter warnings out by default, since this also what you'd expect when not being in verbose mode.
👌
I guess that's fine since they also shouldn't be very frequent.
👌
I don't know I'd really have just one event for uplink messages, which is the one from the AS which also contains the decoded payload. Remember that we are really trying to reduce the noise with this filter, so I think we should hide anything that is not typically of interest when viewing the event stream. Anything else can be viewed as usual when activating verbose mode. |
As discussed with @kschiffer, we'll add support for filtering events by name on the backend. I'll pick up the API and backend implementation after which @kschiffer will update the Console. |
@kschiffer I just pushed the backend work to feature/2231-event-filter. I can imagine that for the frontend it can be useful to know the full list of event names. In |
@kschiffer did you still want to implement the rest of this or did you only want to pick up the part in #4831? |
I can stay assigned here. I've removed the milestone for now. |
Let's schedule this and aim for completion in Q3. |
We have basic filtering of events (verbose). The proposal here is great if we have a General "events" page on the console and we can then do some filtering there. If we have such a page, then indeed we can look at this generic filtering system. However, the way most users (including me) use the console is to navigate to the target gateway, application or end device and look into the events there. Here, we can make a few informed choices about the filtering in each of those pages (contexts). That is handled here: #7342 |
Summary
We should provide filtering features for our data view / event stream.
Why do we need this?
What is already there? What do you see now?
Event streaming for all our entities.
What is missing? What do you want to see?
Filtering options to improve utility of the event stream
I've done a wireframe about this a while ago:
Some related discussion can be viewed here: https://github.com/TheThingsIndustries/lorawan-stack/issues/1071
We should discuss which forms of filters are viable.
Environment
v3.7.0
How do you propose to implement this?
I think we can make use of a special store selector
selectFilteredEvents(filter)
which selects event based on a defined filter object.Can you do this yourself and submit a Pull Request?
Anyone please feel free to pickup.
The text was updated successfully, but these errors were encountered: