From 26d22388c00675775451f9111f47be911c11faad Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 8 Dec 2021 09:25:55 -0800 Subject: [PATCH] Add IO Event tracking to graylog. --- client/src/utils/GraphQLClient.js | 17 +++++++++++++++-- server/ioevent/ioevent.js | 22 +++++++++++++++------- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/client/src/utils/GraphQLClient.js b/client/src/utils/GraphQLClient.js index d0fa29461..64d712198 100644 --- a/client/src/utils/GraphQLClient.js +++ b/client/src/utils/GraphQLClient.js @@ -6,9 +6,10 @@ import { WebSocketLink } from "@apollo/client/link/ws"; import { getMainDefinition } from "@apollo/client/utilities"; //import { split } from "apollo-link"; import apolloLogger from "apollo-link-logger"; +import axios from "axios"; import { auth } from "../firebase/firebase.utils"; import errorLink from "../graphql/apollo-error-handling"; - +import { store } from "../redux/store"; const httpLink = new HttpLink({ uri: process.env.REACT_APP_GRAPHQL_ENDPOINT, }); @@ -47,7 +48,19 @@ const roundTripLink = new ApolloLink((operation, forward) => { }); const TrackExecutionTime = async (operationName, time) => { - //await axios.post("/ioevent", { operationName, time, dbevent: true }); + const rdxStore = store.getState(); + try { + console.log("trying"); + axios.post("/ioevent", { + operationName, + time, + dbevent: true, + user: rdxStore.user.currentUser.email, + imexshopid: rdxStore.user.bodyshop.imexshopid, + }); + } catch (error) { + console.log("IOEvent Error", error); + } }; const subscriptionMiddleware = { diff --git a/server/ioevent/ioevent.js b/server/ioevent/ioevent.js index 297ea1916..4ad524eb8 100644 --- a/server/ioevent/ioevent.js +++ b/server/ioevent/ioevent.js @@ -1,6 +1,7 @@ const client = require("../graphql-client/graphql-client").client; const queries = require("../graphql-client/queries"); const path = require("path"); +const logger = require("../utils/logger"); require("dotenv").config({ path: path.resolve( @@ -10,15 +11,22 @@ require("dotenv").config({ }); exports.default = async (req, res) => { - const { operationName, time, dbevent } = req.body; + const { operationName, time, dbevent, user, imexshopid } = req.body; try { - await client.request(queries.INSERT_IOEVENT, { - event: { - operationname: operationName, - time, - dbevent, - }, + // await client.request(queries.INSERT_IOEVENT, { + // event: { + // operationname: operationName, + // time, + // dbevent, + // }, + // }); + console.log("IOEVENT", operationName, time, dbevent, user, imexshopid); + logger.log("ioevent", "trace", user, null, { + imexshopid, + operationName, + time, + dbevent, }); res.sendStatus(200);