Add IO Event tracking to graylog.
This commit is contained in:
@@ -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 = {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user