11import * as Sentry from "@sentry/node" ;
22import * as Koa from "koa" ;
33import * as bodyParser from "koa-bodyparser" ;
4- import * as Router from "koa- router" ;
4+ import * as Router from "@ koa/ router" ;
55
66import camelize from "./middleware/camelize" ;
77import decamelize from "./middleware/decamelize" ;
88import errorHandler from "./middleware/error-handler" ;
9+ import appSignalMiddleware from "./middleware/appsignal" ;
910// MIDDLEWARE
1011import logger from "./middleware/logger" ;
1112import notFound from "./middleware/not-found" ;
1213import * as define from "./routes/define" ;
1314// ROUTES
1415import * as github from "./routes/github" ;
16+ import { appsignal } from "./utils/appsignal" ;
1517import log from "./utils/log" ;
1618
1719Sentry . init ( {
@@ -28,6 +30,7 @@ app.use(bodyParser({ jsonLimit: "50mb" }));
2830app . use ( camelize ) ;
2931app . use ( decamelize ) ;
3032app . use ( notFound ) ;
33+ app . use ( appSignalMiddleware ) ;
3134
3235router
3336 . get (
@@ -55,7 +58,18 @@ app.use(router.routes()).use(router.allowedMethods());
5558log ( `Listening on ${ DEFAULT_PORT } ` ) ;
5659app . listen ( DEFAULT_PORT ) ;
5760
61+ console . log (
62+ JSON . stringify ( {
63+ message : `AppSignal ${ appsignal . VERSION } , active: ${ appsignal . isActive } ` ,
64+ } )
65+ ) ;
66+
5867app . on ( "error" , ( err , ctx ) => {
68+ const span = appsignal . tracer ( ) . currentSpan ( ) ;
69+ if ( span ) {
70+ span . addError ( err ) ;
71+ }
72+
5973 Sentry . withScope ( function ( scope ) {
6074 scope . addEventProcessor ( function ( event ) {
6175 return Sentry . Handlers . parseRequest ( event , ctx . request ) ;
0 commit comments