Add IO Event tracking to graylog.

This commit is contained in:
Patrick Fic
2021-12-08 09:25:55 -08:00
parent 22a5c4a12d
commit 26d22388c0
2 changed files with 30 additions and 9 deletions

View File

@@ -6,9 +6,10 @@ import { WebSocketLink } from "@apollo/client/link/ws";
import { getMainDefinition } from "@apollo/client/utilities"; import { getMainDefinition } from "@apollo/client/utilities";
//import { split } from "apollo-link"; //import { split } from "apollo-link";
import apolloLogger from "apollo-link-logger"; import apolloLogger from "apollo-link-logger";
import axios from "axios";
import { auth } from "../firebase/firebase.utils"; import { auth } from "../firebase/firebase.utils";
import errorLink from "../graphql/apollo-error-handling"; import errorLink from "../graphql/apollo-error-handling";
import { store } from "../redux/store";
const httpLink = new HttpLink({ const httpLink = new HttpLink({
uri: process.env.REACT_APP_GRAPHQL_ENDPOINT, uri: process.env.REACT_APP_GRAPHQL_ENDPOINT,
}); });
@@ -47,7 +48,19 @@ const roundTripLink = new ApolloLink((operation, forward) => {
}); });
const TrackExecutionTime = async (operationName, time) => { 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 = { const subscriptionMiddleware = {

View File

@@ -1,6 +1,7 @@
const client = require("../graphql-client/graphql-client").client; const client = require("../graphql-client/graphql-client").client;
const queries = require("../graphql-client/queries"); const queries = require("../graphql-client/queries");
const path = require("path"); const path = require("path");
const logger = require("../utils/logger");
require("dotenv").config({ require("dotenv").config({
path: path.resolve( path: path.resolve(
@@ -10,15 +11,22 @@ require("dotenv").config({
}); });
exports.default = async (req, res) => { exports.default = async (req, res) => {
const { operationName, time, dbevent } = req.body; const { operationName, time, dbevent, user, imexshopid } = req.body;
try { try {
await client.request(queries.INSERT_IOEVENT, { // await client.request(queries.INSERT_IOEVENT, {
event: { // event: {
operationname: operationName, // operationname: operationName,
time, // time,
dbevent, // dbevent,
}, // },
// });
console.log("IOEVENT", operationName, time, dbevent, user, imexshopid);
logger.log("ioevent", "trace", user, null, {
imexshopid,
operationName,
time,
dbevent,
}); });
res.sendStatus(200); res.sendStatus(200);