Skip to content

Commit

Permalink
[#167] Release v0.9.0-next.4
Browse files Browse the repository at this point in the history
* TransactionId sequence should only increment the sequence when sampled
* Update CHANGELOG.md
  • Loading branch information
feelform committed Mar 5, 2024
1 parent 5821771 commit 23a16d2
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 3 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changelog
All notable changes to Pinpoint Node.js agent will be documented in this file.

## [0.9.0-next.4] - 2024-01-30
## [0.9.0-next.4] - 2024-03-05
### Added
- #86 Express with method name
- #155 SQL UID
Expand All @@ -10,6 +10,7 @@ All notable changes to Pinpoint Node.js agent will be documented in this file.
- #87 HTTP param
### Fixed
- #101 Nested Async call
- #171 Fix DisableTrace outgoing request HTTP header

## [0.8.3] - 2021-11-19
### Fixed
Expand Down
34 changes: 32 additions & 2 deletions test/instrumentation/module/express.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -672,10 +672,15 @@ test('incoming request by Disable Trace requests', (t) => {
agent.callbackTraceClose((trace) => {
if (actualRequestCount == 1) {
t.equal(actualTraceIdSequence, parseInt(trace.traceId.transactionId.sequence), 'transaction id sequence equals transactionIdGenerator.sequence')
actualTraceIdSequence = transactionIdGenerator.sequence
t.equal(actualTraceIdSequence, 0, 'first request transactionIdGenerator.sequence is 0')
} else if (actualRequestCount == 4) {
t.equal(actualTraceIdSequence, parseInt(trace.traceId.transactionId.sequence), 'transaction id sequence equals transactionIdGenerator.sequence')
t.equal(actualTraceIdSequence, 1, 'fourth request transactionIdGenerator.sequence is 1')
} else {
t.true(trace instanceof DisableTrace, `trace is DisableTrace actualRequestCount=${actualRequestCount}`)
t.equal(actualTraceIdSequence, transactionIdGenerator.sequence, 'DisableTrace transaction no updated transactionIdGenerator.sequence')
}
actualTraceIdSequence = transactionIdGenerator.sequence
rootPathTraces.push(trace)
})
})
Expand All @@ -684,18 +689,40 @@ test('incoming request by Disable Trace requests', (t) => {
const apiPathTraces = []
app.get('/api', async (req, res) => {
apiRequests.push(req)

const result = await axios.get(getServerUrl('/api2'))
t.equal(result.status, 200, 'api2 request status code is 200')
t.equal(result.data, 'ok /api2 get', 'api request data is ok /api2 get')
res.send('ok /api get')

agent.callbackTraceClose((trace) => {
if (actualRequestCount == 1) {
if (actualRequestCount == 1 || actualRequestCount == 4) {
t.equal(actualTraceIdSequence, parseInt(trace.traceId.transactionId.sequence), 'API transaction id sequence equals transactionIdGenerator.sequence')
} else {
t.true(trace instanceof DisableTrace, `trace is DisableTrace actualRequestCount=${actualRequestCount}`)
t.equal(actualTraceIdSequence, transactionIdGenerator.sequence, 'API DisableTrace transaction no updated transactionIdGenerator.sequence')
}
apiPathTraces.push(trace)
})
})

const apiRequests2 = []
const apiPathTraces2 = []
app.get('/api2', async (req, res) => {
apiRequests2.push(req)
res.send('ok /api2 get')

agent.callbackTraceClose((trace) => {
if (actualRequestCount == 1 || actualRequestCount == 4) {
t.equal(actualTraceIdSequence, parseInt(trace.traceId.transactionId.sequence), 'API transaction id sequence equals transactionIdGenerator.sequence')
} else {
t.true(trace instanceof DisableTrace, `trace is DisableTrace actualRequestCount=${actualRequestCount}`)
t.equal(actualTraceIdSequence, transactionIdGenerator.sequence, 'API DisableTrace transaction no updated transactionIdGenerator.sequence')
}
apiPathTraces2.push(trace)
})
})

const server = app.listen(TEST_ENV.port, async function () {
const result1 = await axios.get(getServerUrl('/'))
t.equal(result1.status, 200, 'first / request status code is 200')
Expand Down Expand Up @@ -743,6 +770,9 @@ test('incoming request by Disable Trace requests', (t) => {
t.equal(actualApiRequest.url, '/api', 'Third request is DisableTrace api request url is /api')
t.equal(actualApiRequest.headers['pinpoint-sampled'], 's0', 'Third request is DisableTrace api request pinpoint-sampled header is s0')

const result4 = await axios.get(getServerUrl('/'))
t.equal(result4.status, 200, 'third / request status code is 200')

t.end()
server.close()
})
Expand Down

0 comments on commit 23a16d2

Please sign in to comment.