11import { AppMap , Event } from '@appland/models' ;
22import { classNameToOpenAPIType } from '@appland/openapi' ;
33import sha256 from 'crypto-js/sha256.js' ;
4+ import LRUCache from 'lru-cache' ;
45import { merge } from './mergeWindow' ;
56import { selectEvents } from './selectEvents' ;
67import Specification from './specification' ;
@@ -19,6 +20,7 @@ import {
1920} from './types' ;
2021
2122const MAX_WINDOW_SIZE = 5 ;
23+ const parsedSqlCache = new LRUCache < string , any > ( { max : 1000 } ) ;
2224
2325class ActorManager {
2426 private _actorsByCodeObjectId = new Map < string , Actor > ( ) ;
@@ -68,7 +70,7 @@ export default function buildDiagram(
6870 callee : actorManager . findOrCreateActor ( callee ) ,
6971 route : callee . route ,
7072 status : response . status || response . status_code ,
71- digest : callee . hash ,
73+ digest : callee . getHashWithSqlCache ( parsedSqlCache ) ,
7274 subtreeDigest : 'undefined' ,
7375 children : [ ] ,
7476 elapsed : callee . elapsedTime ,
@@ -83,7 +85,7 @@ export default function buildDiagram(
8385 callee : actorManager . findOrCreateActor ( callee ) ,
8486 route : callee . route ,
8587 status : response . status || response . status_code ,
86- digest : callee . hash ,
88+ digest : callee . getHashWithSqlCache ( parsedSqlCache ) ,
8789 subtreeDigest : 'undefined' ,
8890 children : [ ] ,
8991 elapsed : callee . elapsedTime ,
@@ -96,7 +98,7 @@ export default function buildDiagram(
9698 caller : caller ? actorManager . findOrCreateActor ( caller ) : undefined ,
9799 callee : actorManager . findOrCreateActor ( callee ) ,
98100 query : callee . sqlQuery ,
99- digest : truncatedQuery ? 'truncatedQuery' : callee . hash ,
101+ digest : truncatedQuery ? 'truncatedQuery' : callee . getHashWithSqlCache ( parsedSqlCache ) ,
100102 subtreeDigest : 'undefined' ,
101103 children : [ ] ,
102104 elapsed : callee . elapsedTime ,
@@ -109,7 +111,7 @@ export default function buildDiagram(
109111 callee : actorManager . findOrCreateActor ( callee ) ,
110112 name : callee . codeObject . name ,
111113 static : callee . codeObject . static ,
112- digest : callee . hash ,
114+ digest : callee . getHashWithSqlCache ( parsedSqlCache ) ,
113115 subtreeDigest : 'undefined' ,
114116 stableProperties : { ...callee . stableProperties } ,
115117 returnValue : buildReturnValue ( callee ) ,
0 commit comments