Giter Club home page Giter Club logo

Comments (5)

badtuple avatar badtuple commented on July 18, 2024 1

This should be resolved by PR #5 which has been merged.

from nomarch.

badtuple avatar badtuple commented on July 18, 2024

Good call. We've run into the same problem at work :)

I like being able to skip the first x seconds after startup rather than tying it to the max_seconds_to_reach_end. It might take multiple minutes for an event to make it all the way through the pipeline during particularly bursty moments and max_seconds_to_reach_end has to take that into account, but just skipping the first 10 seconds after deployment would remove that flood of false negatives under common load.

One question I have is whether you'd agree that the best thing to do would be to just not log the outcome of the events reported during that period. This seems to make the most sense to me. It would keep logs and the logic around alarms simple. But an alternative I could see someone wanting is to log it with a specific message that mentions whether we think it made it or not, but we don't know because it was within that startup period.

from nomarch.

AndrewScibek avatar AndrewScibek commented on July 18, 2024

One question I have is whether you'd agree that the best thing to do would be to just not log the outcome of the events reported during that period. This seems to make the most sense to me.

Personally that is how I would like it done, so there is just a simple filter needed to find the logs, and not much thought has to go into is it fully operational yet/or am i waiting for delay still?

an alternative I could see someone wanting is to log it with a specific message that mentions whether we think it made it or not, but we don't know because it was within that startup period.

If you were to implement this would it be a third event state? Complete, Did not complete, and Unknown
Because if that is the case then i think you could implement both so you have insight of events during startup, without having to alarm

from nomarch.

badtuple avatar badtuple commented on July 18, 2024

If you were to implement [logging unknown events] would it be a third event state?

Probably. I think there would be two different ways to implement it without adding a bunch of stuff we don't want in the main loop. One would just be to have another branch in the statement we already have during expiry that checks if we are in that time window, and if we are then print something different that signifies it's unknown. Another option would be to move the logging into a more structured format (probably json) and have a flag that signals whether the service is warmed up or not.

I think either of those implementation paths are reasonable...but at the end of the day I think it keeps things easier to reason about if we just drop the events for that duration. The default config option would be zero seconds so that people new to the project don't think their thing is broken when it doesn't log anything for a bit.

from nomarch.

AndrewScibek avatar AndrewScibek commented on July 18, 2024

I think either of those implementation paths are reasonable...but at the end of the day I think it keeps things easier to reason about if we just drop the events for that duration. The default config option would be zero seconds so that people new to the project don't think their thing is broken when it doesn't log anything for a bit.

Totally reasonable. I think dropping them outright and maybe another proposal later with more states is a clear path

from nomarch.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.