Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Callstack like JVM agent #2

Closed
3 tasks done
feelform opened this issue Oct 26, 2020 · 0 comments
Closed
3 tasks done

Callstack like JVM agent #2

feelform opened this issue Oct 26, 2020 · 0 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@feelform
Copy link
Collaborator

feelform commented Oct 26, 2020

https://github.com/pinpoint-apm/pinpoint/tree/master/agent-testweb
Get name and line of calling function in node.js : https://stackoverflow.com/questions/14172455/get-name-and-line-of-calling-function-in-node-js/14172822

Error.prepareStackTrace changes

Stack trace API: https://v8.dev/docs/stack-trace-api
vm: Error.prepareStackTrace behaves inconsistently across versions: nodejs/node#21270

express

TODO

@feelform feelform self-assigned this Oct 26, 2020
@feelform feelform added this to the 0.7.0 milestone Oct 26, 2020
@feelform feelform added the bug Something isn't working label Oct 26, 2020
@feelform feelform removed this from the 0.7.0 milestone Nov 25, 2020
@feelform feelform added this to the 0.7.2 milestone Dec 11, 2020
@feelform feelform modified the milestones: 0.7.3, 0.8.0 Jan 14, 2021
@feelform feelform removed this from the 0.8.0 milestone Mar 15, 2021
@feelform feelform added this to the 0.8.1 milestone Apr 1, 2021
feelform referenced this issue in feelform/pinpoint-node-agent Apr 1, 2021
feelform referenced this issue in feelform/pinpoint-node-agent Apr 1, 2021
feelform added a commit that referenced this issue Apr 7, 2021
@feelform feelform modified the milestones: 0.8.1, 0.9.0 Apr 7, 2021
feelform referenced this issue in feelform/pinpoint-node-agent May 6, 2021
feelform referenced this issue in feelform/pinpoint-node-agent May 6, 2021
feelform referenced this issue in feelform/pinpoint-node-agent May 12, 2021
feelform referenced this issue in feelform/pinpoint-node-agent May 12, 2021
feelform referenced this issue in feelform/pinpoint-node-agent May 14, 2021
feelform added a commit that referenced this issue May 27, 2021
feelform added a commit that referenced this issue May 27, 2021
feelform added a commit that referenced this issue May 27, 2021
@feelform feelform reopened this Mar 22, 2022
feelform added a commit that referenced this issue Sep 12, 2023
* pinpoint node agent development db modules fixtures
* MysqlContainer withCopyFilesToContainer for fixtures
* 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`
* testcontainer docker-entrypoint-initdb.d learning test
* Support SQL_ID AnnotationKey
* createConnection endPoint SpanEvent
* MySQL connect SpanEvent
* MySQL connect async callback SpanEvent
* Declare MySQL Service Type
* Java agent InstrumentMethod, addScopedInterceptor implementation
* MySQL createConnection Interceptor
* MySQLConnectionInterceptor
* We know hook method API. we need to translate *stack name to human understanding information.
Fix wrong Class name for connection test
* Query Hook
* databaseInfo to MySQLStatementExecuteQueryInterceptor
* transformation sql string to normalizedSql
* SQL Meta Data gRPC API
* DefaultAnnotationKey is no needs. I think it is better to remove it.
* If object uses JSON.stringify, It's right. But other cases, It's wrong. ex) string '123' -> '"123"' It is wrong
* Fix test failure
* annotation
* Support Java agent annotationValue and data type annotation to Node Agent
* fix async spanevent
* Fix audit warning
*  update testcontainer version
* DefaultPredefinedMethodDescriptorRegistry rename refactoring
* delete no used commented code
* AsyncId must have sequence
* recordHTTPURL no standard pinpoint spanevent API
* method descriptor builder needs ApiDescriptor Setter method
* trace.traceBlockEnd needs log.error('spanevent does not exists in call-stack') guard
* Support SQL Bind Value
* fix express test failure
* mysql query matcher
* createPool interceptor
* Support mysql Pool query and  query with getConnection
* MySQL PoolConnection Support
* Scope in interceptor like java agent
* mysql service type and execute query
* Upgrade nodejs engine version matrix version
* mysql2 fixtures

Logger Adaptor pattern
   * The Logger must implements pinpoint.json config loading status and a  log level.
    * support integration test
    * if adaptor doesn't have adaptor outer method, Agent outs logs to console
[#117] loglevel default logger integration test
[#117] loglevel default logger
[#119] Fix "SequenceGenerator is not a constructor" error
[#121] Fix testcontainer `It was resolved to update testcontainer v9`
[#122] Fix testContainer test failure
[#117] make Agent d.ts in repository
[#117] node-agent index.d.ts
[#122] Fix test failure
[#122] fix github action failure
[#123] Fix Github action test failure
#2 formatting
#2 express get function name
#86 expectedStackString
#86 Fix test failure
#86 trace
#87 HTTP param annotation key
#87 url.parse exception guard
#87 setAttribute search Param
#87 annotation key
#87 remove no needs callstack
#87 Express with method name
#86 express callstack
#86 parse stack trace
#86 express method name matcher
#86 route name
#86 use layer symbol
#86 use layer symbol
#86 extract method refactoring
#86 method descriptor
#86 method descriptor Builder
#86 method name matcher
#86 express API Meta cache
#86 extract class refactoring
#86 callstack extract method refactoring pattern
#86 rename refactoring
#86 linenumber
#86 methodDescriptorBuilder
#86 makeMethodDescriptorBuilder
#86 method descriptor builder
#86 at Type.functionName [as methodName] (location) and at Type.name (location) in https://v8.dev/docs/stack-trace-api
#86 fullName
#86 post test
 [#98] Fix no details error case informations to  Error callstack
By using the string return value of the stack in the toString method of Error, the developer can check the error information in detail.
Fix redis 4.0 redis connection error
   - upgrade testcontainer to v7
[#101] The middleware should be displayed with the same depth as next, but the bug was fixed in the hierarchical display incorrectly.
Provides Middleware Code level visibility
Fixed a bug where Error Handler's location was displayed as anonymous Middleware
 [#101] TypeScript Express Demo app
 [#101] react app sample
 [#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.
[#104] make koa example
[#104] koa support code level visibility
[#104] remove no used module hook
[#104] koa support code level visibility
[#104] koa wrap guard
[#104] koa module parameter descriptor
https://github.com/koajs/router/blob/master/API.md
router.get('/', (ctx, next) => {
  // ctx.router available
});

[#104] remove no needs files
[#104] koa module
https://github.com/koajs/router/blob/1aead99e0e0fdb8666e9c6fa2f52b0463c622025/lib/layer.js#L25
[#104] koa moudle callstack parsing
[#104] Support call stack `Router.<computed> [as get]` with `Function.app.<computed> [as get]`
[#104] koa module MethodDescriptorBuilder
[#104] koa support code level visibility
[#104] koa and express module status code 200 verification

[#104] remove no needs match wrap
[#111] When a large number of grpc streams occur, the subChannelPool running test has different results depending on the server environment and is deleted

[#117] Support logger, authentication adaptor pattern

typescript tools support for .d.ts
    * https://nodejs.org/api/modules.html#enabling
    * fix license convention by https://docs.npmjs.com/cli/v8/configuring-npm/package-json#license
ddac37
Fix submodule url
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant