----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/75014/#review226659 -----------------------------------------------------------
repository/src/main/java/org/apache/atlas/util/AtlasMetricsUtil.java Lines 421 (patched) <https://reviews.apache.org/r/75014/#comment314918> How performant are these count() calls? In a deployment with large number of entities, it is critical to ensure that these calls don't cause performance issues - like by retrieving all vertices and edges to memory. Alternatively, consider using index queries to retrieve vertex and edge counts - similar to how MetricsService retrieves entity counts. - Madhan Neethiraj On July 11, 2024, 1:53 p.m., Paresh Devalia wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/75014/ > ----------------------------------------------------------- > > (Updated July 11, 2024, 1:53 p.m.) > > > Review request for atlas, Mandar Ambawane and Pinal Shah. > > > Bugs: ATLAS-4867 > https://issues.apache.org/jira/browse/ATLAS-4867 > > > Repository: atlas > > > Description > ------- > > Metrics API : http://<>/api/atlas/admin/metrics > > 1. There is some information in the Metrics API response, which is not been > used like Count of the typeAndSubTypes, Active, deleted, Shell > Approach: > Identify time taken by the above counts > Take reading of metric api > Take reading of metric api without the above counts > > > 2. Also we can get the total number of count of vertices and edges present in > graph > This helps in estimating the time on Reindexing Patch. > Also it may be helpful while debugging the escalations > Approach: > Embed this count in MetricUtil > Or > Create seperate API > > > Diffs > ----- > > > graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java > 004cab9c8 > intg/src/main/java/org/apache/atlas/model/graph/AtlasGraphDetails.java > PRE-CREATION > repository/src/main/java/org/apache/atlas/services/MetricsService.java > 9ec2cd2cb > repository/src/main/java/org/apache/atlas/util/AtlasMetricsUtil.java > a13e07387 > webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java > 475756981 > > > Diff: https://reviews.apache.org/r/75014/diff/2/ > > > Testing > ------- > > With typeAndSubTypes data it took 217ms for Metric API > Without typeAndSubTypes data, it took 180ms for Metric API > Without typeAndSubTypes and include the graph vertex and edge count took > almost 300++ ms > > PC build:- > https://ci-builds.apache.org/job/Atlas/job/PreCommit-ATLAS-Build-Test/1662/console > > Create a new API to fetch the graph details. > > Graph API Request :- http://<>/api/atlas/admin/graph > > Response :- > { > "data": { > "general": { > "Graph:": { > "Graph:edgesCount": 286, > "Graph:verticesCount": 697 > } > } > } > } > > > File Attachments > ---------------- > > AtlasGraphDetails.java > > https://reviews.apache.org/media/uploaded/files/2024/07/11/3199de1d-ba43-4951-bc01-d42462c38518__AtlasGraphDetails.java > AtlasGraphDetails.java > > https://reviews.apache.org/media/uploaded/files/2024/07/11/6da399ce-a9fc-47c7-9acd-32149fcef2e4__AtlasGraphDetails.java > > > Thanks, > > Paresh Devalia > >