You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have a big ball of mud in the codebase: the "beater" package and its sub-packages. These comprise:
our interface to libbeat (including Elastic Agent/Fleet management)
setup of HTTP & gRPC servers
definition of HTTP middleware & gRPC interceptors
route registration (intake, agent config, ...)
model processor creation
configuration
Java agent attachment
telemetry
authentication/authorization framework
self-instrumentation
This is a growing source of complexity and tech debt, manifesting in issues such as #8383. We should look at refactoring "beater" into several distinct modules, with clearly defined responsibilities.
If nothing else, we must define a clear line between libbeat and the rest of apm-server code. This will enable us to better test things like reloading configuration and its effect on monitoring (see issue linked above) without running a complete apm-server. It would also enable us to explore alternative methods of deployment, e.g. splitting APM Server into multiple services to fit a stream processing architecture.
The text was updated successfully, but these errors were encountered:
We currently have a big ball of mud in the codebase: the "beater" package and its sub-packages. These comprise:
This is a growing source of complexity and tech debt, manifesting in issues such as #8383. We should look at refactoring "beater" into several distinct modules, with clearly defined responsibilities.
If nothing else, we must define a clear line between libbeat and the rest of apm-server code. This will enable us to better test things like reloading configuration and its effect on monitoring (see issue linked above) without running a complete apm-server. It would also enable us to explore alternative methods of deployment, e.g. splitting APM Server into multiple services to fit a stream processing architecture.
The text was updated successfully, but these errors were encountered: