Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: log continuously into a ring buffer to start logging retroactively #42

Closed
emmericp opened this issue Jun 23, 2024 · 5 comments
Labels

Comments

@emmericp
Copy link

I've seen some logs that are triggered by some auto-start feature that are missing events during the start that would have been useful to have. I'd love a feature where Transcriptor could behave kind of like a digital oscilloscope that can show you events that happened prior to the trigger.

Rough sketch of the feature as I'd imagine it:

function onEvent(...)
  if isLogging() then
    logEvent(...)
  else
     ringBuffer:add(...)
  end
end
  • make startLogging do something like this:
function newStartLogging()
  oldStartLogging()
  for item in ringBuffer:iterator() do
    logEvent(unpack(item))
  end
end

notes:

  • prior to startLogging the events aren't processed, just stored as is in the ring buffer
  • memory overhead can be made constant, no per-event allocs necessary
@funkydude
Copy link
Member

In BigWigs we resolve this by having an (optional) feature to start a log on X seconds remaining of a pull timer.
Assuming you are using DBM to auto toggle logging, have you considered such a feature?

@emmericp
Copy link
Author

Yes, we have that, but we don't always use pull timers and sometimes I'm just like "I wish I would have logged that" because something interesting happened.

@MysticalOS
Copy link
Contributor

I do agree with sentiment that I wouldn't want a buffer running constantly, at least by default. No reason to add overhead out of box.

However, I could see argument for those niche cases, to where such a feature exist and be off by default.

Transcriptor is a dev tool, after all, so no reason not to support additional options if said options don't create unneeded overhead by default. If a dev chooses to opt into the overhead though, that's on them.

if anything, just make paul write it. 🤣 I'm in same boat as you, I just solve this with pull timers, but I do understand classic era is such a different mentality (ook ook brained speed clear gotta go fast, no pull timers). These are same players that wanted speed clear timers in DBM for all the raids (although admittedly I stopped doing that after 3 of them)

@funkydude
Copy link
Member

@emmericp If this is something you want to work on I'll accept a PR, just make it off by default

@MysticalOS I'd say speed run timers are a solved problem by WCL

@emmericp
Copy link
Author

obsolete, i built a more sophisticated splitting tool (https://github.com/DeadlyBossMods/DeadlyBossMods/tree/master/DBM-Test/Tools) so i just log the whole raid in a single session

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants