Started custom data source implementation #259 #260
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #259
Abstract
This merge request introduces the ability to add "UDP Data Sources" to tailviewer. The data source listens for incoming UDP datagrams on a particular endpoint and then interprets the payload of each datagram as a plain text log entry.
This new data source is implemented as a new plugin (which is shipped with the main tailviewer installer just like the serilog plugin) in order to not overload the main tailviewer source code. A new plugin interface for custom data sources was introduced which allows future plugins to implement all kinds of data sources (for example a data source to display the windows event log comes to mind, but its implementation is outside of the scope of this MR). The UI was then extended to allow the user to add a new custom data source, choosing from one of the available custom data sources. After its creation, a custom data source isn't that much different from the existing data source: It's a singular data source and may be grouped with other data sources, filtered, etc... just like any other.
Details
Additions to tailviewer's plugins:
Additions to tailviewer:
UDP Data Source Plugin: