@superblocksteam/sdk 2.0.154 → 2.0.155-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"memory-metrics.test.js","sourceRoot":"","sources":["../../src/telemetry/memory-metrics.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;IAYxB,MAAM,MAAM,GASP,EAAE,CAAC;IACR,MAAM,kBAAkB,GAA2B,EAAE,CAAC;IACtD,MAAM,QAAQ,GAGT,EAAE,CAAC;IACR,MAAM,UAAU,GAIX,EAAE,CAAC;IAER,OAAO;QACL,MAAM;QACN,kBAAkB;QAClB,QAAQ;QACR,UAAU;QACV,gBAAgB,EAAE,SAA+B;QACjD,YAAY,EAAE;YACZ,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;YACf,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;YACd,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,UAAU;YACf,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;SAChD;QACD,UAAU,EAAE,SAEC;QACb,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACZ,0BAA0B,EAAE,EAAE,CAAC,EAAE,CAC/B,CACE,QAMU,EACV,mBAA4C,EAC5C,EAAE;YACF,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,IAAI,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAClC,CAAC;gBACF,IAAI,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7C,CAAC;QACH,CAAC,CACF;QACD,6BAA6B,EAAE,EAAE,CAAC,EAAE,EAAE;KACvC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAmB,iBAAiB,CAAC,CAAC;IAC1E,OAAO;QACL,GAAG,MAAM;QACT,mBAAmB,EAAE;YACnB,YAAY,QAAyD;gBACnE,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC1B,CAAC;YACD,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAClB,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;SACtB;QACD,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAClD,WAAW,EAAE;YACX,GAAG,MAAM,CAAC,WAAW;YACrB,oBAAoB,EAAE,CAAC,CAAC,GAAG;SAC5B;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACf,qBAAqB,EAAE,CAAC,IAAY,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,uBAAuB,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE;YAC9B,MAAM,OAAO,GAGT,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACvB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO;gBACL,GAAG,EAAE,CAAC,KAAa,EAAE,KAA+B,EAAE,EAAE,CACtD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aACtC,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,CAAC,IAAY,EAAE,OAAiC,EAAE,EAAE;YACnE,MAAM,SAAS,GAIX,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,CAAC,KAAa,EAAE,KAA+B,EAAE,EAAE,CACzD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC3C,CAAC;QACJ,CAAC;QACD,0BAA0B,EAAE,CAAC,CAAC,0BAA0B;QACxD,6BAA6B,EAAE,CAAC,CAAC,6BAA6B;KAC/D,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,SAAS,UAAU;IACjB,MAAM,YAAY,GAIb,EAAE,CAAC;IACR,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC5D,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9D,QAAQ,CAAC;QACP,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC/B,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACxD,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,EAAE,CAAC,YAAY,EAAE,CAAC;QAClB,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACnC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC,CAAC,GAAG;aACF,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;aAC3D,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aAChE,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,0BAA0B,CAAC,SAAS,EAAE,CAAC;QACzC,CAAC,CAAC,6BAA6B,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAC7C,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEtC,kBAAkB,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAClC,iBAAiB,EAAE,CAAC;QAEpB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAC7C,MAAM,CAAC,eAAe,CAAC;YACrB,gCAAgC;YAChC,gCAAgC;YAChC,+BAA+B;YAC/B,gCAAgC;YAChC,+BAA+B;SAChC,CAAC,CACH,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAClE,iCAAiC;YACjC,mCAAmC;SACpC,CAAC,CAAC;QACH,MAAM,CACJ,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gCAAgC,CAAC;YACnE,EAAE,KAAK,CACV,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACX,MAAM,CACJ,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,+BAA+B,CAAC;YAClE,EAAE,KAAK,CACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAC7C,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEtC,CAAC,CAAC,gBAAgB,GAAG,yBAAyB,CAAC;QAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CACxC,0DAA0D,CAC3D,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAEtD,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAC/B,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QAEpB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACrD,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAC7C,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEtC,kBAAkB,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAC5D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,EAAE,CACV,QAAQ,CAAC;YACP,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;gBACtB,IAAI,UAAU,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;SACF,CAAC,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE5B,iBAAiB,EAAE,CAAC;QACpB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAC7C,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEtC,kBAAkB,EAAE,CAAC;QACrB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QAEpB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAC7C,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEtC,kBAAkB,EAAE,CAAC;QACrB,CAAC,CAAC,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,GAAG,EAAE,CAAC;gBAChB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACrC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;aAC5B;SACF,CAAC,CAAC;QACH,iBAAiB,EAAE,CAAC;QAEpB,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAClC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAC1D,CAAC;QAEF,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAClD,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;YAClC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACvC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACvC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;SAC1C,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;YAClC,WAAW,EAAE,gDAAgD;YAC7D,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACN,wBAAwB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aACpE;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,YAAY,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEjE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACrC,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEjE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QACtD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAC;QACtE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEjE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAC;QACtE,aAAa,CACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,EAC9C,uBAAuB,CACxB,CAAC;QACF,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEjE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"memory-metrics.test.js","sourceRoot":"","sources":["../../src/telemetry/memory-metrics.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/sdk",
3
- "version": "2.0.154",
3
+ "version": "2.0.155-next.1",
4
4
  "description": "Superblocks JS SDK",
5
5
  "homepage": "https://www.superblocks.com",
6
6
  "license": "Superblocks Community Software License",
@@ -57,11 +57,11 @@
57
57
  "vite-tsconfig-paths": "^6.0.4",
58
58
  "winston": "^3.17.0",
59
59
  "yaml": "^2.7.1",
60
- "@superblocksteam/shared": "0.9607.3",
61
- "@superblocksteam/telemetry": "2.0.154",
62
- "@superblocksteam/library-shared": "2.0.154",
63
- "@superblocksteam/util": "2.0.154",
64
- "@superblocksteam/vite-plugin-file-sync": "2.0.154"
60
+ "@superblocksteam/shared": "0.9608.1",
61
+ "@superblocksteam/library-shared": "2.0.155-next.1",
62
+ "@superblocksteam/util": "2.0.155-next.1",
63
+ "@superblocksteam/telemetry": "2.0.155-next.1",
64
+ "@superblocksteam/vite-plugin-file-sync": "2.0.155-next.1"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@eslint/js": "^9.39.2",
@@ -0,0 +1,48 @@
1
+ import { describe, expect, it } from "vitest";
2
+
3
+ import { applyWarmActivationForwardingEnv } from "./warm-activation-forwarding.js";
4
+
5
+ /**
6
+ * A warm pod is built before any live edit claims it, so it boots with
7
+ * placeholder identity. Activation is the only moment SABS can tell it which
8
+ * live edit it now serves and where to forward that live edit's events; a
9
+ * cold-start pod is handed the same two values as environment at creation.
10
+ */
11
+ describe("warm activation forwarding config", () => {
12
+ it("tells the dev server which live edit it is now serving", () => {
13
+ const environment: NodeJS.ProcessEnv = {};
14
+
15
+ applyWarmActivationForwardingEnv(
16
+ { liveEditId: "le-42", sabsBaseUrl: "http://sabs.sabs.svc:8080" },
17
+ environment,
18
+ );
19
+
20
+ expect(environment.LIVE_EDIT_ID).toBe("le-42");
21
+ expect(environment.SUPERBLOCKS_SABS_BASE_URL).toBe(
22
+ "http://sabs.sabs.svc:8080",
23
+ );
24
+ });
25
+
26
+ it("leaves forwarding off when the deployment does not run the push channel", () => {
27
+ const environment: NodeJS.ProcessEnv = {};
28
+
29
+ applyWarmActivationForwardingEnv({ liveEditId: "le-42" }, environment);
30
+
31
+ expect(environment.LIVE_EDIT_ID).toBe("le-42");
32
+ expect(environment.SUPERBLOCKS_SABS_BASE_URL).toBeUndefined();
33
+ });
34
+
35
+ it("clears a previous pod's identity rather than forwarding under it", () => {
36
+ // Belt and braces: a warm entrypoint that seeded a placeholder must not
37
+ // leave it behind for the live edit that actually claimed the pod.
38
+ const environment: NodeJS.ProcessEnv = {
39
+ LIVE_EDIT_ID: "stale-le",
40
+ SUPERBLOCKS_SABS_BASE_URL: "http://stale.svc:8080",
41
+ };
42
+
43
+ applyWarmActivationForwardingEnv({}, environment);
44
+
45
+ expect(environment.LIVE_EDIT_ID).toBeUndefined();
46
+ expect(environment.SUPERBLOCKS_SABS_BASE_URL).toBeUndefined();
47
+ });
48
+ });
@@ -0,0 +1,29 @@
1
+ /**
2
+ * The two values a warm pod cannot know before a live edit claims it: which
3
+ * live edit it now serves, and where SABS answers so Clark's events can be
4
+ * forwarded there. Cold-start pods receive both as environment at creation;
5
+ * activation is the warm path's equivalent.
6
+ */
7
+ export type WarmActivationForwardingConfig = {
8
+ liveEditId?: string;
9
+ sabsBaseUrl?: string;
10
+ };
11
+
12
+ export function applyWarmActivationForwardingEnv(
13
+ config: WarmActivationForwardingConfig,
14
+ environment: NodeJS.ProcessEnv = process.env,
15
+ ): void {
16
+ // Assign or clear, never leave behind: a pod that was seeded with a
17
+ // placeholder must not forward under the previous occupant's identity.
18
+ if (config.liveEditId) {
19
+ environment.LIVE_EDIT_ID = config.liveEditId;
20
+ } else {
21
+ delete environment.LIVE_EDIT_ID;
22
+ }
23
+
24
+ if (config.sabsBaseUrl) {
25
+ environment.SUPERBLOCKS_SABS_BASE_URL = config.sabsBaseUrl;
26
+ } else {
27
+ delete environment.SUPERBLOCKS_SABS_BASE_URL;
28
+ }
29
+ }
package/src/index.ts CHANGED
@@ -141,3 +141,8 @@ export {
141
141
  type StartupTraceCarrier,
142
142
  withStartupTraceContext,
143
143
  } from "./telemetry/startup-context.js";
144
+
145
+ export {
146
+ applyWarmActivationForwardingEnv,
147
+ type WarmActivationForwardingConfig,
148
+ } from "./dev-utils/warm-activation-forwarding.js";
@@ -156,26 +156,41 @@ function observeAll() {
156
156
  return observations;
157
157
  }
158
158
 
159
+ /**
160
+ * Reset every piece of shared harness state.
161
+ *
162
+ * Any describe block that calls `startMemoryMetrics` must run this: the batch
163
+ * callback dereferences the mocked `performance.eventLoopUtilization()` result,
164
+ * so a block that leaves `h.elu` unconfigured throws
165
+ * `Cannot read properties of undefined (reading 'utilization')` the moment it
166
+ * observes — an obscure failure unrelated to whatever it was asserting. Sharing
167
+ * one reset keeps blocks independent of declaration order, `.only`, and
168
+ * `sequence.shuffle`.
169
+ */
170
+ function resetHarness() {
171
+ vi.resetModules();
172
+ h.gauges.length = 0;
173
+ h.observableCounters.length = 0;
174
+ h.counters.length = 0;
175
+ h.histograms.length = 0;
176
+ h.throwOnGaugeName = undefined;
177
+ h.delayMonitor.enable.mockClear();
178
+ h.delayMonitor.disable.mockClear();
179
+ h.delayMonitor.reset.mockClear();
180
+ h.delayMonitor.percentile.mockClear();
181
+ h.gcCallback = undefined;
182
+ h.elu.mockReset();
183
+ h.elu
184
+ .mockReturnValueOnce({ idle: 0, active: 0, utilization: 0 })
185
+ .mockReturnValueOnce({ idle: 25, active: 75, utilization: 0.75 })
186
+ .mockReturnValue({ idle: 100, active: 200, utilization: 0.67 });
187
+ h.addBatchObservableCallback.mockClear();
188
+ h.removeBatchObservableCallback.mockClear();
189
+ }
190
+
159
191
  describe("memory metrics", () => {
160
- beforeEach(async () => {
161
- vi.resetModules();
162
- h.gauges.length = 0;
163
- h.observableCounters.length = 0;
164
- h.counters.length = 0;
165
- h.histograms.length = 0;
166
- h.throwOnGaugeName = undefined;
167
- h.delayMonitor.enable.mockClear();
168
- h.delayMonitor.disable.mockClear();
169
- h.delayMonitor.reset.mockClear();
170
- h.delayMonitor.percentile.mockClear();
171
- h.gcCallback = undefined;
172
- h.elu.mockReset();
173
- h.elu
174
- .mockReturnValueOnce({ idle: 0, active: 0, utilization: 0 })
175
- .mockReturnValueOnce({ idle: 25, active: 75, utilization: 0.75 })
176
- .mockReturnValue({ idle: 100, active: 200, utilization: 0.67 });
177
- h.addBatchObservableCallback.mockClear();
178
- h.removeBatchObservableCallback.mockClear();
192
+ beforeEach(() => {
193
+ resetHarness();
179
194
  });
180
195
 
181
196
  it("observes event-loop, V8 heap, and memory-pressure gauges", async () => {
@@ -321,17 +336,21 @@ describe("readCgroupMemory", () => {
321
336
  currentBytes: 50,
322
337
  limitBytes: 200,
323
338
  usageRatio: 0.25,
339
+ limitState: "available",
324
340
  });
325
341
  });
326
342
 
327
- it("returns undefined when cgroup files are absent or unlimited", async () => {
343
+ it("returns undefined when cgroup files are absent, and usage alone when unlimited", async () => {
328
344
  const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
329
345
  const { readCgroupMemory } = await import("./memory-metrics.js");
330
346
 
331
347
  expect(readCgroupMemory(root)).toBeUndefined();
332
348
  writeFileSync(path.join(root, "memory.current"), "50\n");
333
349
  writeFileSync(path.join(root, "memory.max"), "max\n");
334
- expect(readCgroupMemory(root)).toBeUndefined();
350
+ expect(readCgroupMemory(root)).toEqual({
351
+ currentBytes: 50,
352
+ limitState: "unlimited",
353
+ });
335
354
  });
336
355
 
337
356
  it("does not combine v2 usage with v1 limits", async () => {
@@ -344,7 +363,12 @@ describe("readCgroupMemory", () => {
344
363
  writeFileSync(path.join(memoryRoot, "memory.limit_in_bytes"), "200\n");
345
364
  const { readCgroupMemory } = await import("./memory-metrics.js");
346
365
 
347
- expect(readCgroupMemory(root)).toBeUndefined();
366
+ // v2 is detected, so the v1 limit of 200 must not be adopted: the result
367
+ // carries the v2 usage of 50 and no limit at all.
368
+ expect(readCgroupMemory(root)).toEqual({
369
+ currentBytes: 50,
370
+ limitState: "unlimited",
371
+ });
348
372
  });
349
373
 
350
374
  it("treats cgroup v1 sentinel limits as unlimited", async () => {
@@ -358,6 +382,177 @@ describe("readCgroupMemory", () => {
358
382
  );
359
383
  const { readCgroupMemory } = await import("./memory-metrics.js");
360
384
 
385
+ expect(readCgroupMemory(root)).toEqual({
386
+ currentBytes: 50,
387
+ limitState: "unlimited",
388
+ });
389
+ });
390
+ });
391
+
392
+ describe("readCgroupMemory without a readable limit", () => {
393
+ beforeEach(() => {
394
+ vi.resetModules();
395
+ });
396
+
397
+ it("still reports current usage when the v1 limit is the unlimited sentinel", async () => {
398
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
399
+ const memoryRoot = path.join(root, "memory");
400
+ mkdirSync(memoryRoot);
401
+ writeFileSync(path.join(memoryRoot, "memory.usage_in_bytes"), "50\n");
402
+ writeFileSync(
403
+ path.join(memoryRoot, "memory.limit_in_bytes"),
404
+ "9223372036854775807\n",
405
+ );
406
+ const { readCgroupMemory } = await import("./memory-metrics.js");
407
+
408
+ const cgroup = readCgroupMemory(root);
409
+ expect(cgroup?.currentBytes).toBe(50);
410
+ expect(cgroup?.limitBytes).toBeUndefined();
411
+ expect(cgroup?.usageRatio).toBeUndefined();
412
+ });
413
+
414
+ it("still reports current usage when the v2 limit is max", async () => {
415
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
416
+ writeFileSync(path.join(root, "memory.current"), "50\n");
417
+ writeFileSync(path.join(root, "memory.max"), "max\n");
418
+ const { readCgroupMemory } = await import("./memory-metrics.js");
419
+
420
+ const cgroup = readCgroupMemory(root);
421
+ expect(cgroup?.currentBytes).toBe(50);
422
+ expect(cgroup?.limitBytes).toBeUndefined();
423
+ });
424
+
425
+ it("returns undefined when current usage itself is unreadable", async () => {
426
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
427
+ writeFileSync(path.join(root, "memory.max"), "200\n");
428
+ const { readCgroupMemory } = await import("./memory-metrics.js");
429
+
361
430
  expect(readCgroupMemory(root)).toBeUndefined();
362
431
  });
363
432
  });
433
+
434
+ describe("cgroup limit state", () => {
435
+ beforeEach(() => {
436
+ vi.resetModules();
437
+ });
438
+
439
+ it("reports an unlimited cgroup distinctly from an unreadable limit", async () => {
440
+ const unlimited = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
441
+ writeFileSync(path.join(unlimited, "memory.current"), "50\n");
442
+ writeFileSync(path.join(unlimited, "memory.max"), "max\n");
443
+
444
+ // memory.current is readable, memory.max is absent: the limit read fails
445
+ // rather than reporting "no limit", and the two must not look alike.
446
+ const unreadable = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
447
+ writeFileSync(path.join(unreadable, "memory.current"), "50\n");
448
+
449
+ const { readCgroupMemory } = await import("./memory-metrics.js");
450
+
451
+ expect(readCgroupMemory(unlimited)?.limitState).toBe("unlimited");
452
+ expect(readCgroupMemory(unreadable)?.limitState).toBe("unreadable");
453
+ });
454
+
455
+ it("reports the v1 unlimited sentinel as unlimited, not unreadable", async () => {
456
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
457
+ const memoryRoot = path.join(root, "memory");
458
+ mkdirSync(memoryRoot);
459
+ writeFileSync(path.join(memoryRoot, "memory.usage_in_bytes"), "50\n");
460
+ writeFileSync(
461
+ path.join(memoryRoot, "memory.limit_in_bytes"),
462
+ "9223372036854775807\n",
463
+ );
464
+ const { readCgroupMemory } = await import("./memory-metrics.js");
465
+
466
+ expect(readCgroupMemory(root)?.limitState).toBe("unlimited");
467
+ });
468
+
469
+ it("reports a readable limit as available", async () => {
470
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
471
+ writeFileSync(path.join(root, "memory.current"), "50\n");
472
+ writeFileSync(path.join(root, "memory.max"), "200\n");
473
+ const { readCgroupMemory } = await import("./memory-metrics.js");
474
+
475
+ expect(readCgroupMemory(root)?.limitState).toBe("available");
476
+ });
477
+ });
478
+
479
+ describe("cgroup gauge emission", () => {
480
+ beforeEach(() => {
481
+ resetHarness();
482
+ });
483
+
484
+ it("emits current usage but omits limit and ratio when the cgroup is unlimited", async () => {
485
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
486
+ writeFileSync(path.join(root, "memory.current"), "2041380864\n");
487
+ writeFileSync(path.join(root, "memory.max"), "max\n");
488
+ const { startMemoryMetrics, stopMemoryMetrics } =
489
+ await import("./memory-metrics.js");
490
+
491
+ startMemoryMetrics({ cgroupRoot: root });
492
+ const observations = observeAll();
493
+ stopMemoryMetrics();
494
+
495
+ const names = observations.map((o) => o.name);
496
+ expect(names).toContain("nodejs.memory.cgroup_current_bytes");
497
+ expect(names).not.toContain("nodejs.memory.cgroup_limit_bytes");
498
+ expect(names).not.toContain("nodejs.memory.cgroup_usage_ratio");
499
+ expect(
500
+ observations.find((o) => o.name === "nodejs.memory.cgroup_current_bytes")
501
+ ?.value,
502
+ ).toBe(2041380864);
503
+ });
504
+
505
+ it("emits all three gauges when the cgroup limit is readable", async () => {
506
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
507
+ writeFileSync(path.join(root, "memory.current"), "50\n");
508
+ writeFileSync(path.join(root, "memory.max"), "200\n");
509
+ const { startMemoryMetrics, stopMemoryMetrics } =
510
+ await import("./memory-metrics.js");
511
+
512
+ startMemoryMetrics({ cgroupRoot: root });
513
+ const observations = observeAll();
514
+ stopMemoryMetrics();
515
+
516
+ const names = observations.map((o) => o.name);
517
+ expect(names).toContain("nodejs.memory.cgroup_current_bytes");
518
+ expect(names).toContain("nodejs.memory.cgroup_limit_bytes");
519
+ expect(
520
+ observations.find((o) => o.name === "nodejs.memory.cgroup_usage_ratio")
521
+ ?.value,
522
+ ).toBe(0.25);
523
+ });
524
+
525
+ it("labels current usage with the limit state so the no-limit case is filterable", async () => {
526
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
527
+ writeFileSync(path.join(root, "memory.current"), "2041380864\n");
528
+ writeFileSync(path.join(root, "memory.max"), "max\n");
529
+ const { startMemoryMetrics, stopMemoryMetrics } =
530
+ await import("./memory-metrics.js");
531
+
532
+ startMemoryMetrics({ cgroupRoot: root });
533
+ const observations = observeAll();
534
+ stopMemoryMetrics();
535
+
536
+ expect(
537
+ observations.find((o) => o.name === "nodejs.memory.cgroup_current_bytes")
538
+ ?.attrs,
539
+ ).toEqual({ "cgroup.limit_state": "unlimited" });
540
+ });
541
+
542
+ it("labels current usage as available when a real limit is present", async () => {
543
+ const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
544
+ writeFileSync(path.join(root, "memory.current"), "50\n");
545
+ writeFileSync(path.join(root, "memory.max"), "200\n");
546
+ const { startMemoryMetrics, stopMemoryMetrics } =
547
+ await import("./memory-metrics.js");
548
+
549
+ startMemoryMetrics({ cgroupRoot: root });
550
+ const observations = observeAll();
551
+ stopMemoryMetrics();
552
+
553
+ expect(
554
+ observations.find((o) => o.name === "nodejs.memory.cgroup_current_bytes")
555
+ ?.attrs,
556
+ ).toEqual({ "cgroup.limit_state": "available" });
557
+ });
558
+ });
@@ -14,10 +14,29 @@ import { getMeter } from "./index.js";
14
14
 
15
15
  let cleanupFn: (() => void) | undefined;
16
16
 
17
+ /**
18
+ * Why a limit did or did not accompany a usage reading.
19
+ *
20
+ * available A finite positive limit was read; `limitBytes` is set.
21
+ * unlimited The cgroup reports no limit: v2 `max`, or v1's 2^63-1 sentinel
22
+ * (which gVisor sandboxes always report, because the real limit
23
+ * is enforced on the host cgroup outside the sandbox).
24
+ * unreadable The limit file could not be read at all.
25
+ *
26
+ * The last two both omit `limitBytes`, so without this they are indistinguishable
27
+ * to a consumer -- an unreadable limit is a genuine fault worth alerting on,
28
+ * while an unlimited one is the normal steady state under gVisor.
29
+ */
30
+ type CgroupLimitState = "available" | "unlimited" | "unreadable";
31
+
17
32
  interface CgroupMemory {
18
33
  currentBytes: number;
19
- limitBytes: number;
20
- usageRatio: number;
34
+ /** Set only when `limitState` is `available`. */
35
+ limitBytes?: number;
36
+ /** Absent whenever `limitBytes` is, since it is derived from it. */
37
+ usageRatio?: number;
38
+ /** Always set; see {@link CgroupLimitState}. */
39
+ limitState: CgroupLimitState;
21
40
  }
22
41
 
23
42
  interface CgroupNumber {
@@ -25,6 +44,14 @@ interface CgroupNumber {
25
44
  value?: number;
26
45
  }
27
46
 
47
+ export interface MemoryMetricsOptions {
48
+ /**
49
+ * Cgroup filesystem root to read from. Defaults to the real `/sys/fs/cgroup`;
50
+ * overridden only by tests, which point it at a fixture directory.
51
+ */
52
+ cgroupRoot?: string;
53
+ }
54
+
28
55
  interface GcPerformanceEntry {
29
56
  duration: number;
30
57
  kind?: number;
@@ -36,6 +63,12 @@ interface GcPerformanceEntry {
36
63
  const NS_PER_MS = 1_000_000;
37
64
  const US_PER_SECOND = 1_000_000;
38
65
 
66
+ /**
67
+ * Attribute on `nodejs.memory.cgroup_current_bytes` recording whether a limit
68
+ * accompanied the reading. Bounded to the three {@link CgroupLimitState} values.
69
+ */
70
+ const ATTR_CGROUP_LIMIT_STATE = "cgroup.limit_state";
71
+
39
72
  function finiteNonNegative(value: number): number {
40
73
  return Number.isFinite(value) && value > 0 ? value : 0;
41
74
  }
@@ -80,25 +113,40 @@ export function readCgroupMemory(
80
113
  const v2Current = readCgroupNumber(`${root}/memory.current`);
81
114
  const v2Limit = readCgroupNumber(`${root}/memory.max`);
82
115
  const usesCgroupV2 = v2Current.exists || v2Limit.exists;
83
- const currentBytes = usesCgroupV2
84
- ? v2Current.value
85
- : readCgroupNumber(`${root}/memory/memory.usage_in_bytes`).value;
86
- const limitBytes = usesCgroupV2
87
- ? v2Limit.value
88
- : readCgroupNumber(`${root}/memory/memory.limit_in_bytes`).value;
116
+ // Keep the whole CgroupNumber, not just its value: `exists` is what separates
117
+ // a cgroup that reports no limit from one whose limit file could not be read,
118
+ // and both arrive here with `value === undefined`.
119
+ const current = usesCgroupV2
120
+ ? v2Current
121
+ : readCgroupNumber(`${root}/memory/memory.usage_in_bytes`);
122
+ const limit = usesCgroupV2
123
+ ? v2Limit
124
+ : readCgroupNumber(`${root}/memory/memory.limit_in_bytes`);
125
+ const currentBytes = current.value;
126
+ const limitBytes = limit.value;
89
127
 
90
- if (
91
- currentBytes === undefined ||
92
- limitBytes === undefined ||
93
- limitBytes <= 0
94
- ) {
128
+ if (currentBytes === undefined) {
95
129
  return undefined;
96
130
  }
97
131
 
132
+ // Current usage stands on its own as a measurement. A container routinely
133
+ // reads its own usage while the limit is absent or unlimited: gVisor
134
+ // sandboxes expose cgroup v1 with `memory.limit_in_bytes` at the unlimited
135
+ // sentinel (2^63-1), because the real limit is enforced on the host cgroup
136
+ // outside the sandbox. Returning undefined here would discard a readable
137
+ // usage value and leave every such pod with no cgroup telemetry at all.
138
+ if (limitBytes === undefined || limitBytes <= 0) {
139
+ return {
140
+ currentBytes,
141
+ limitState: limit.exists ? "unlimited" : "unreadable",
142
+ };
143
+ }
144
+
98
145
  return {
99
146
  currentBytes,
100
147
  limitBytes,
101
148
  usageRatio: ratio(currentBytes, limitBytes),
149
+ limitState: "available",
102
150
  };
103
151
  }
104
152
 
@@ -117,10 +165,11 @@ function gcKind(kind: number | undefined): string {
117
165
  }
118
166
  }
119
167
 
120
- export function startMemoryMetrics(): void {
168
+ export function startMemoryMetrics(options: MemoryMetricsOptions = {}): void {
121
169
  if (cleanupFn) {
122
170
  return;
123
171
  }
172
+ const cgroupRoot = options.cgroupRoot;
124
173
 
125
174
  const meter = getMeter();
126
175
  const eventLoopDelay = monitorEventLoopDelay({ resolution: 20 });
@@ -269,7 +318,7 @@ export function startMemoryMetrics(): void {
269
318
  try {
270
319
  const mem = process.memoryUsage();
271
320
  const heap = getHeapStatistics();
272
- const cgroup = readCgroupMemory();
321
+ const cgroup = readCgroupMemory(cgroupRoot);
273
322
  const elu = performance.eventLoopUtilization(
274
323
  previousEventLoopUtilization,
275
324
  );
@@ -286,11 +335,27 @@ export function startMemoryMetrics(): void {
286
335
  heapUsedRatioGauge,
287
336
  ratio(mem.heapUsed, heap.heap_size_limit),
288
337
  );
289
- // Omit cgroup gauges when no finite cgroup limit is available; absence means host/unlimited memory, not telemetry setup failure.
338
+ // Current usage is emitted whenever the cgroup is readable at all; the
339
+ // limit and its derived ratio are omitted when no usable limit could be
340
+ // determined. Neither may suppress current usage.
341
+ //
342
+ // This makes "current present, limit absent" a normal steady state
343
+ // rather than the impossible one it was before, and under gVisor it is
344
+ // the permanent shape. So the absence of a limit series is NOT a
345
+ // telemetry-failure signal, and `cgroup.limit_state` carries the reason
346
+ // on the usage gauge itself rather than leaving consumers to infer it
347
+ // from a missing series. Three bounded values; see CgroupLimitState.
290
348
  if (cgroup) {
291
- result.observe(cgroupCurrentGauge, cgroup.currentBytes);
292
- result.observe(cgroupLimitGauge, cgroup.limitBytes);
293
- result.observe(cgroupUsageRatioGauge, cgroup.usageRatio);
349
+ result.observe(cgroupCurrentGauge, cgroup.currentBytes, {
350
+ [ATTR_CGROUP_LIMIT_STATE]: cgroup.limitState,
351
+ });
352
+ if (
353
+ cgroup.limitBytes !== undefined &&
354
+ cgroup.usageRatio !== undefined
355
+ ) {
356
+ result.observe(cgroupLimitGauge, cgroup.limitBytes);
357
+ result.observe(cgroupUsageRatioGauge, cgroup.usageRatio);
358
+ }
294
359
  }
295
360
  result.observe(eventLoopDelayMeanGauge, nsToMs(eventLoopDelay.mean));
296
361
  result.observe(eventLoopDelayMaxGauge, nsToMs(eventLoopDelay.max));