Saramanda9988 commented on issue #3765: URL: https://github.com/apache/hertzbeat/issues/3765#issuecomment-3563454721
Hi, community I’ve completed the initial development for this refactor and would like to provide an update, along with a few design questions that came up during the implementation. I hope to get your feedback. 1. Originally, I planned to follow the proposed refactor and use instance as the main query field. However, in the current implementation, multiple monitors may point to the same instance, and the backend does not enforce uniqueness on the instance field. So using it as a lookup key could lead to ambiguous or duplicated results.For this reason, I kept using monitorId internally for querying to ensure deterministic behavior.I’d like to confirm whether monitorId for querying could be the intended design. 2. During the implementation, I noticed differences among storage types: When using VictoriaMetrics, an additional host field which is returned to the frontend. <img width="527" height="416" alt="Image" src="https://github.com/user-attachments/assets/b5a7c599-a539-4a27-92fd-885a9cbfad17" /> <img width="889" height="430" alt="Image" src="https://github.com/user-attachments/assets/d3bc87eb-c984-4970-8c3d-88157f3822d6" /> When using GreptimeDB, there is no host field. <img width="529" height="420" alt="Image" src="https://github.com/user-attachments/assets/a938adda-e7aa-4f38-9ca9-7ab9c6a62f31" /> 3. For the other five TSDB types, the meaning of “instance” is represented through labels, not the instance host like VictoriaMetrics or GreptimeDB. <img width="850" height="438" alt="Image" src="https://github.com/user-attachments/assets/a1e52d5e-bf66-4166-a701-9b966aae5e42" /> However, the frontend does not use labels for filtering, and the query parameters do not include an instance field. <img width="875" height="434" alt="Image" src="https://github.com/user-attachments/assets/b0ab006e-1a09-4388-a6fd-e540bdb18e02" /> I’m unsure what the expected unified behavior should be. Should each datasource normalize its own label mappings, or do we want a unified abstraction? I would appreciate guidance on the intended direction here. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@hertzbeat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@hertzbeat.apache.org For additional commands, e-mail: notifications-h...@hertzbeat.apache.org
