Skip to content

Commit 0422b72

Browse files
committed
Merge remote-tracking branch 'origin/main' into improvement/custom-reports
2 parents ea90746 + fa299cc commit 0422b72

File tree

115 files changed

+9902
-11521
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+9902
-11521
lines changed

backend/package-lock.json

Lines changed: 83 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
"script:send-weekly-analytics-email": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true node -r tsconfig-paths/register -r ts-node/register src/bin/scripts/send-weekly-analytics-email.ts",
4141
"script:unleash-init": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true node -r tsconfig-paths/register -r ts-node/register src/bin/scripts/unleash-init.ts",
4242
"script:enrich-members-organizations": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true node -r tsconfig-paths/register -r ts-node/register src/bin/scripts/enrich-members-and-organizations.ts",
43-
"script:enrich-organizations": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true node -r tsconfig-paths/register -r ts-node/register src/bin/scripts/enrich-organizations-synchronous.ts"
43+
"script:enrich-organizations": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true node -r tsconfig-paths/register -r ts-node/register src/bin/scripts/enrich-organizations-synchronous.ts",
44+
"script:generate-merge-suggestions": "SERVICE=script TS_NODE_TRANSPILE_ONLY=true node -r tsconfig-paths/register -r ts-node/register src/bin/scripts/generate-merge-suggestions.ts"
4445
},
4546
"dependencies": {
4647
"@aws-sdk/client-comprehend": "^3.159.0",
@@ -53,6 +54,7 @@
5354
"@crowd/common": "file:../services/libs/common",
5455
"@crowd/integrations": "file:../services/libs/integrations",
5556
"@crowd/logging": "file:../services/libs/logging",
57+
"@crowd/tracing": "file:../services/libs/tracing",
5658
"@crowd/opensearch": "file:../services/libs/opensearch",
5759
"@crowd/redis": "file:../services/libs/redis",
5860
"@crowd/sqs": "file:../services/libs/sqs",

backend/src/api/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { getRedisClient, getRedisPubSubPair, RedisPubSubReceiver } from '@crowd/
99
import { getServiceLogger } from '@crowd/logging'
1010
import { ApiWebsocketMessage, Edition } from '@crowd/types'
1111
import { getOpensearchClient } from '@crowd/opensearch'
12+
import { getServiceTracer } from '@crowd/tracing'
1213
import { API_CONFIG, REDIS_CONFIG, UNLEASH_CONFIG, OPENSEARCH_CONFIG } from '../conf'
1314
import { authMiddleware } from '../middlewares/authMiddleware'
1415
import { tenantMiddleware } from '../middlewares/tenantMiddleware'
@@ -26,6 +27,7 @@ import WebSockets from './websockets'
2627
import { opensearchMiddleware } from '../middlewares/opensearchMiddleware'
2728

2829
const serviceLogger = getServiceLogger()
30+
getServiceTracer()
2931

3032
const app = express()
3133

backend/src/bin/discord-ws.ts

Lines changed: 42 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { processPaginated, timeout } from '@crowd/common'
44
import { RedisCache, getRedisClient } from '@crowd/redis'
55
import { getChildLogger, getServiceLogger } from '@crowd/logging'
66
import { PlatformType } from '@crowd/types'
7+
import { SpanStatusCode, getServiceTracer } from '@crowd/tracing'
78
import { DISCORD_CONFIG, REDIS_CONFIG } from '../conf'
89
import SequelizeRepository from '../database/repositories/sequelizeRepository'
910
import IntegrationRepository from '../database/repositories/integrationRepository'
@@ -14,6 +15,7 @@ import {
1415
getIntegrationStreamWorkerEmitter,
1516
} from '@/serverless/utils/serviceSQS'
1617

18+
const tracer = getServiceTracer()
1719
const log = getServiceLogger()
1820

1921
async function executeIfNotExists(
@@ -56,40 +58,51 @@ async function spawnClient(
5658

5759
logger.info({ payload }, 'Processing Discord WS Message!')
5860

59-
try {
60-
const integration = (await IntegrationRepository.findByIdentifier(
61-
guildId,
62-
PlatformType.DISCORD,
63-
)) as any
61+
tracer.startActiveSpan('ProcessDiscordWSMessage', async (span) => {
62+
try {
63+
const integration = (await IntegrationRepository.findByIdentifier(
64+
guildId,
65+
PlatformType.DISCORD,
66+
)) as any
6467

65-
const result = await repo.create({
66-
tenantId: integration.tenantId,
67-
integrationId: integration.id,
68-
type: WebhookType.DISCORD,
69-
payload,
70-
})
68+
const result = await repo.create({
69+
tenantId: integration.tenantId,
70+
integrationId: integration.id,
71+
type: WebhookType.DISCORD,
72+
payload,
73+
})
7174

72-
const streamEmitter = await getIntegrationStreamWorkerEmitter()
75+
const streamEmitter = await getIntegrationStreamWorkerEmitter()
7376

74-
await streamEmitter.triggerWebhookProcessing(
75-
integration.tenantId,
76-
integration.platform,
77-
result.id,
78-
)
79-
} catch (err) {
80-
if (err.code === 404) {
81-
logger.warn({ guildId }, 'No integration found for incoming Discord WS Message!')
82-
} else {
83-
logger.error(
84-
err,
85-
{
86-
discordPayload: JSON.stringify(payload),
87-
guildId,
88-
},
89-
'Error processing Discord WS Message!',
77+
await streamEmitter.triggerWebhookProcessing(
78+
integration.tenantId,
79+
integration.platform,
80+
result.id,
9081
)
82+
span.setStatus({
83+
code: SpanStatusCode.OK,
84+
})
85+
} catch (err) {
86+
if (err.code === 404) {
87+
logger.warn({ guildId }, 'No integration found for incoming Discord WS Message!')
88+
} else {
89+
span.setStatus({
90+
code: SpanStatusCode.ERROR,
91+
message: err,
92+
})
93+
logger.error(
94+
err,
95+
{
96+
discordPayload: JSON.stringify(payload),
97+
guildId,
98+
},
99+
'Error processing Discord WS Message!',
100+
)
101+
}
102+
} finally {
103+
span.end()
91104
}
92-
}
105+
})
93106
}
94107

95108
const client = new Client({

0 commit comments

Comments
 (0)