scylladb / argus

Apache License 2.0
4 stars 11 forks source link

Automatically annotate performance graphs with dependency changes #490

Closed soyacz closed 1 day ago

soyacz commented 4 weeks ago

Problem:

Changes in important dependencies such as driver versions, load tool versions, kernel versions, or Scylla Manager versions can introduce performance regressions. These changes are often difficult to detect during the manual performance review process, as there is no immediate visual indication correlating dependency changes with observed performance metrics.

Solution:

Automatically annotate performance graphs when a dependency change is detected to help correlate changes in performance with system alterations. This will be achieved as follows:

  1. Automatic Detection: During data retrieval from the database, the system will pull information about dependencies (e.g., driver version, kernel version) associated with each data point. When a change in any dependency is detected, an annotation will be generated.

  2. Visual Annotation: A horizontal line will be placed on the graph at the point where the dependency change occurred. The line will represent the time of the change and will not extend across the graph. A new line will be placed for each detected change.

  3. Tooltip Information: When a user hovers over the annotation, a tooltip will display detailed information about the change, including:

    • The name of the package (e.g., driver, kernel, Scylla Manager).
    • The specific version that the package was updated to.