{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":285798760,"defaultBranch":"master","name":"pinpoint-node-agent","ownerLogin":"pinpoint-apm","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-08-07T10:09:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/72777607?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715596854.0","currentOid":""},"activityList":{"items":[{"before":"0810f793aceed4ea0b3c8f26df12c7813094a446","after":"71abe601916ef0efea9f9abc6de04e540241543e","ref":"refs/heads/release/v0.8","pushedAt":"2024-05-13T09:22:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#190] Remove JSON.stringify on Info the Logger\n\nUpdate Demo App for jade deprecated to pug","shortMessageHtmlLink":"[#190] Remove JSON.stringify on Info the Logger"}},{"before":"6eaa00494618e2e9ddccf602ae998f35b660aec3","after":"0810f793aceed4ea0b3c8f26df12c7813094a446","ref":"refs/heads/release/v0.8","pushedAt":"2024-05-03T07:42:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#186] Release v0.8.4","shortMessageHtmlLink":"[#186] Release v0.8.4"}},{"before":"ddac37cad5a123f18318dbc13cdfa3371098ba49","after":"6eaa00494618e2e9ddccf602ae998f35b660aec3","ref":"refs/heads/release/v0.8","pushedAt":"2024-05-02T13:48:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#186] Change error log level to info log","shortMessageHtmlLink":"[#186] Change error log level to info log"}},{"before":"719afa7eca136524f2976ce340b30cd90d854fc7","after":"614bff6c006e3550f84a3d334dedeb0094e389fd","ref":"refs/heads/master","pushedAt":"2024-04-30T03:10:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#184] Update Package version","shortMessageHtmlLink":"[#184] Update Package version"}},{"before":"582177149cb6879da654df01efd7f189ae43b035","after":"719afa7eca136524f2976ce340b30cd90d854fc7","ref":"refs/heads/master","pushedAt":"2024-03-05T09:14:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#167] Release v0.9.0-next.4\n\n* TransactionId sequence should only increment the sequence when sampled\n* Update CHANGELOG.md","shortMessageHtmlLink":"[#167] Release v0.9.0-next.4"}},{"before":"688061bb4f8fe010d3a6976a401569c5980e4fb0","after":"582177149cb6879da654df01efd7f189ae43b035","ref":"refs/heads/master","pushedAt":"2024-03-04T10:35:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#171] Fix incoming request bug by No sampled request\n\n* internal request call\n* self request header pinpoint\n * pinpoint-flags header is bypass flag\n* Fix HTTP sampled header\n* npm audit fix","shortMessageHtmlLink":"[#171] Fix incoming request bug by No sampled request"}},{"before":"7a38d46aabb96bf931b824e737b90542cc766b2b","after":"688061bb4f8fe010d3a6976a401569c5980e4fb0","ref":"refs/heads/master","pushedAt":"2024-02-02T10:17:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#170] Fix DisableTrace And DisableAsyncTrace agentInfo is null\n\n* Fix `Node 14 on ubuntu-latest The following actions uses node12 which is deprecated and will be forced to run on node16: actions/setup-node@v2`\n* DisableTrace Functional Tests\n* Support independent hook method DisableTrace\n* Add Next value to String convert method to SequenceGenerator\n* Request Trace whether disable\n* Sampling functional test\n* Call completeTraceObject for disable trace and asyncTrace\n* Add disable async trace\n* rename refactoring async-trace-builder -> trace-builder.js\n* If sampling, Don't create transactionId\n* if sampled is undefined, No sampling\n* Add DisableTrace UnitTest\n* Update changelog\n* Update node agent version\n* Update package-lock.json\n* Update assertion logic\n* Update Demo app for mysql","shortMessageHtmlLink":"[#170] Fix DisableTrace And DisableAsyncTrace agentInfo is null"}},{"before":"4b16a72bce91dd0a2b0f4893d4ebba7d9d120024","after":"7a38d46aabb96bf931b824e737b90542cc766b2b","ref":"refs/heads/master","pushedAt":"2024-01-12T02:31:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#167] Release v0.9","shortMessageHtmlLink":"[#167] Release v0.9"}},{"before":"97d6e67e9b7caac5deb7225aed5502d41d1ea00c","after":"4b16a72bce91dd0a2b0f4893d4ebba7d9d120024","ref":"refs/heads/master","pushedAt":"2024-01-10T13:12:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#155] Support SQL UID\n\n* Update gRPC idl\n* IdGenerator.stringValueOfNext\n* Change to spanId string type value\n* Support SqlUidMetaData gRPC stub\n* Profiler SQL UID by config\n* Support UID array id\n* sqluid functional test\n* Support murmur128 hash algorithm\n* Add murmur-128 package to NOTICE\n* Add murmur3-128 source code to repository because of ESM library\n* parsing result factory pattern\n* Add BytesStringStringValue\n* Fix coverage github actions\n* Uid annotationKey\n* Update PINPOINT_PROFILER_SQL_STAT ENV in README.md","shortMessageHtmlLink":"[#155] Support SQL UID"}},{"before":"c32f44586a14e2749af1961b2a1f445c991ab559","after":"97d6e67e9b7caac5deb7225aed5502d41d1ea00c","ref":"refs/heads/master","pushedAt":"2023-12-29T06:10:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#159] Support ioredis nested asyncTrace\n\n* Extract Method refactoring callbackInterceptor.makeHookCallbackFunction\n* File comment year\n* Remove no use redis","shortMessageHtmlLink":"[#159] Support ioredis nested asyncTrace"}},{"before":"51b16720b53bf9a2e34cfa5e2b5c630ebde2c37b","after":"c32f44586a14e2749af1961b2a1f445c991ab559","ref":"refs/heads/master","pushedAt":"2023-12-22T07:25:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#159] Support redis and ioredis package nested AsyncTrace\n\n* Extract method refactoring\n * callback hooks too long method in InstrumentMethod\n * redis hook reduce callback hook code. so we need to write refactoring code\n* builder.isDetectedFunctionName(): trace.traceBlockBegin must be called when functionName detected.\nthisArg in instrument-method.js\n* thisArg use this or shimmer.wrap target. wrap function called by no object has undefined this value.\n* thisArg needs to be set to target object reference.\n* Hook Arrow function arguments\n* CallbackInterceptorRunner for Callback function\n * fix trace was losted in redis callback\n * CallbackInterceptorRunner append a trace argument because of localStorage recall run method\n* Fix fixtures HTTP server port duplicated exception\n* Outgoing request fixtures test\n* fix await async function nextSpanId undefined bug\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function","shortMessageHtmlLink":"[#159] Support redis and ioredis package nested AsyncTrace"}},{"before":"e1d6330098fe68af2ab93367d68af83e1ab460dd","after":"51b16720b53bf9a2e34cfa5e2b5c630ebde2c37b","ref":"refs/heads/master","pushedAt":"2023-11-30T06:34:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#157] Fix mysql2-promise depth bug","shortMessageHtmlLink":"[#157] Fix mysql2-promise depth bug"}},{"before":"bdb97c59554fba1640083addf0fd8844ee512296","after":"e1d6330098fe68af2ab93367d68af83e1ab460dd","ref":"refs/heads/master","pushedAt":"2023-11-29T13:44:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#140] nested asyncTrace","shortMessageHtmlLink":"[#140] nested asyncTrace"}},{"before":"ecb98fcf1205eb66abf273f31b34849d53631bf1","after":"bdb97c59554fba1640083addf0fd8844ee512296","ref":"refs/heads/master","pushedAt":"2023-11-23T06:42:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#102] Fix _header warning\n\n* Update minimum nodejs version\n* Fix audit","shortMessageHtmlLink":"[#102] Fix _header warning"}},{"before":"5db95582f0cc5de13bb5096c6ec5244268a2f713","after":"ecb98fcf1205eb66abf273f31b34849d53631bf1","ref":"refs/heads/master","pushedAt":"2023-11-22T13:15:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#140] Support nested async trace\n\n* Remove no needs an argument TraceContext\n* Support nested AsyncTraces","shortMessageHtmlLink":"[#140] Support nested async trace"}},{"before":"8383b14d9d04304455928dc85d57303351d44c09","after":"5db95582f0cc5de13bb5096c6ec5244268a2f713","ref":"refs/heads/master","pushedAt":"2023-11-21T01:37:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#140] Support AsyncLocalStorage node@16.4\n\n* Rename refactoring MethodDescriptor2 to MethodDescriptor\n* AsyncLocalStorage above node@16.4\nThe AsyncHook has been deprecated. Node Document recommend AsyncLocalStorage.","shortMessageHtmlLink":"[#140] Support AsyncLocalStorage node@16.4"}},{"before":"1ad772f6d4294445a3cfdcbe84b99f5fc1b069f4","after":"8383b14d9d04304455928dc85d57303351d44c09","ref":"refs/heads/master","pushedAt":"2023-11-08T13:01:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#150] Configuration location and filename and linenumber\n\n* express without CallSite location and filename and linenumber\n* koa without CallSite location and filename and linenumber\n* mysql without CallSite location and filename and linenumber","shortMessageHtmlLink":"[#150] Configuration location and filename and linenumber"}},{"before":"8cf56eacfc986ffbf883a2e07582cde8cea4c007","after":"1ad772f6d4294445a3cfdcbe84b99f5fc1b069f4","ref":"refs/heads/master","pushedAt":"2023-11-08T06:50:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#148] fork othiym23/shimmer library to @pinpoint-apm scoped package","shortMessageHtmlLink":"[#148] fork othiym23/shimmer library to @pinpoint-apm scoped package"}},{"before":"94b72bc1aa22df532e173d12bc6ea7a31960a7ad","after":"8cf56eacfc986ffbf883a2e07582cde8cea4c007","ref":"refs/heads/master","pushedAt":"2023-11-07T12:41:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#139] lint for check style\n\n[#139] Test coverage ignoring","shortMessageHtmlLink":"[#139] lint for check style"}},{"before":"21afb8637088da6a6100a5cf591cd0fe055f16e3","after":"94b72bc1aa22df532e173d12bc6ea7a31960a7ad","ref":"refs/heads/master","pushedAt":"2023-11-07T07:31:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#143] Fix tape ignoring test cases\n\nFix call methods order trace.close() and then poolCluster.end()\n[#143] Fix tape ignoring test cases\n[#145] Support koa, express InstrumentMethod\n[#146] shimmer module wrap duplicate guard","shortMessageHtmlLink":"[#143] Fix tape ignoring test cases"}},{"before":"48ca8ea596012db05d183f33a299e272b0ce332d","after":"21afb8637088da6a6100a5cf591cd0fe055f16e3","ref":"refs/heads/master","pushedAt":"2023-09-12T12:03:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#125] mysql module support\n\n* pinpoint node agent development db modules fixtures\n* MysqlContainer withCopyFilesToContainer for fixtures\n* Fix `ERROR 1064 (42000) at line 16: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3`\n* testcontainer docker-entrypoint-initdb.d learning test\n* Support SQL_ID AnnotationKey\n* createConnection endPoint SpanEvent\n* MySQL connect SpanEvent\n* MySQL connect async callback SpanEvent\n* Declare MySQL Service Type\n* Java agent InstrumentMethod, addScopedInterceptor implementation\n* MySQL createConnection Interceptor\n* MySQLConnectionInterceptor\n* We know hook method API. we need to translate *stack name to human understanding information.\nFix wrong Class name for connection test\n* Query Hook\n* databaseInfo to MySQLStatementExecuteQueryInterceptor\n* transformation sql string to normalizedSql\n* SQL Meta Data gRPC API\n* DefaultAnnotationKey is no needs. I think it is better to remove it.\n* If object uses JSON.stringify, It's right. But other cases, It's wrong. ex) string '123' -> '\"123\"' It is wrong\n* Fix test failure\n* annotation\n* Support Java agent annotationValue and data type annotation to Node Agent\n* fix async spanevent\n* Fix audit warning\n* update testcontainer version\n* DefaultPredefinedMethodDescriptorRegistry rename refactoring\n* delete no used commented code\n* AsyncId must have sequence\n* recordHTTPURL no standard pinpoint spanevent API\n* method descriptor builder needs ApiDescriptor Setter method\n* trace.traceBlockEnd needs log.error('spanevent does not exists in call-stack') guard\n* Support SQL Bind Value\n* fix express test failure\n* mysql query matcher\n* createPool interceptor\n* Support mysql Pool query and query with getConnection\n* MySQL PoolConnection Support\n* Scope in interceptor like java agent\n* mysql service type and execute query\n* Upgrade nodejs engine version matrix version\n* mysql2 fixtures\n\nLogger Adaptor pattern\n * The Logger must implements pinpoint.json config loading status and a log level.\n * support integration test\n * if adaptor doesn't have adaptor outer method, Agent outs logs to console\n[#117] loglevel default logger integration test\n[#117] loglevel default logger\n[#119] Fix \"SequenceGenerator is not a constructor\" error\n[#121] Fix testcontainer `It was resolved to update testcontainer v9`\n[#122] Fix testContainer test failure\n[#117] make Agent d.ts in repository\n[#117] node-agent index.d.ts\n[#122] Fix test failure\n[#122] fix github action failure\n[#123] Fix Github action test failure\n#2 formatting\n#2 express get function name\n#86 expectedStackString\n#86 Fix test failure\n#86 trace\n#87 HTTP param annotation key\n#87 url.parse exception guard\n#87 setAttribute search Param\n#87 annotation key\n#87 remove no needs callstack\n#87 Express with method name\n#86 express callstack\n#86 parse stack trace\n#86 express method name matcher\n#86 route name\n#86 use layer symbol\n#86 use layer symbol\n#86 extract method refactoring\n#86 method descriptor\n#86 method descriptor Builder\n#86 method name matcher\n#86 express API Meta cache\n#86 extract class refactoring\n#86 callstack extract method refactoring pattern\n#86 rename refactoring\n#86 linenumber\n#86 methodDescriptorBuilder\n#86 makeMethodDescriptorBuilder\n#86 method descriptor builder\n#86 at Type.functionName [as methodName] (location) and at Type.name (location) in https://v8.dev/docs/stack-trace-api\n#86 fullName\n#86 post test\n [#98] Fix no details error case informations to Error callstack\nBy using the string return value of the stack in the toString method of Error, the developer can check the error information in detail.\nFix redis 4.0 redis connection error\n - upgrade testcontainer to v7\n[#101] The middleware should be displayed with the same depth as next, but the bug was fixed in the hierarchical display incorrectly.\nProvides Middleware Code level visibility\nFixed a bug where Error Handler's location was displayed as anonymous Middleware\n [#101] TypeScript Express Demo app\n [#101] react app sample\n [#101] When using React as the front end and Express as the back end, the react sample is unnecessary because it is the same environment as express.\n[#104] make koa example\n[#104] koa support code level visibility\n[#104] remove no used module hook\n[#104] koa support code level visibility\n[#104] koa wrap guard\n[#104] koa module parameter descriptor\nhttps://github.com/koajs/router/blob/master/API.md\nrouter.get('/', (ctx, next) => {\n // ctx.router available\n});\n\n[#104] remove no needs files\n[#104] koa module\nhttps://github.com/koajs/router/blob/1aead99e0e0fdb8666e9c6fa2f52b0463c622025/lib/layer.js#L25\n[#104] koa moudle callstack parsing\n[#104] Support call stack `Router. [as get]` with `Function.app. [as get]`\n[#104] koa module MethodDescriptorBuilder\n[#104] koa support code level visibility\n[#104] koa and express module status code 200 verification\n\n[#104] remove no needs match wrap\n[#111] When a large number of grpc streams occur, the subChannelPool running test has different results depending on the server environment and is deleted\n\n[#117] Support logger, authentication adaptor pattern\n\ntypescript tools support for .d.ts\n * https://nodejs.org/api/modules.html#enabling\n * fix license convention by https://docs.npmjs.com/cli/v8/configuring-npm/package-json#license\nddac37\nFix submodule url","shortMessageHtmlLink":"[#125] mysql module support"}},{"before":"c9615c4a7e9fa1b29a72e6ed53f9e349f5ae9528","after":"ddac37cad5a123f18318dbc13cdfa3371098ba49","ref":"refs/heads/release/v0.8","pushedAt":"2023-08-07T06:14:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#132] pinpoint node agent instruments debugging\n\n* active trace is no needs. If ActiveCount enable, It needs to be enable\n* Changes Spring boot demo port\n* Pinpoint http server demo\n* Test fixtures for http-server\nrollback activeTrace data","shortMessageHtmlLink":"[#132] pinpoint node agent instruments debugging"}},{"before":null,"after":"c9615c4a7e9fa1b29a72e6ed53f9e349f5ae9528","ref":"refs/heads/release/v0.8","pushedAt":"2023-07-06T11:54:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"},"commit":{"message":"[#93] AgentId and ApplicationName Length validator","shortMessageHtmlLink":"[#93] AgentId and ApplicationName Length validator"}},{"before":"77f860042c0bd6460edf974dbb9015099a30bf97","after":null,"ref":"refs/heads/release/v0.8","pushedAt":"2023-07-06T11:42:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"feelform","name":"Yongseok Kang","path":"/feelform","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/616895?s=80&v=4"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESDZ64QA","startCursor":null,"endCursor":null}},"title":"Activity ยท pinpoint-apm/pinpoint-node-agent"}