Cached and current data displayed intermittently on Graphite - Why? - graphite

Graphite intermittently displays cached (old) data and current data if I continuously update it.
Here's what I'm doing:
First I setup a graph to show the last 15 minutes, then continuously hit the "Update Graph" button on the Graphite Composer window. When I do this, I notice some odd behavior:
The graph is drawn with data points going up to the current time X. (Good)
After hitting refresh several times, the graph updates to show points going up to X + 1. (Good)
I continue to hit update and graph reverts back to the view from step 1. (Bad)
Eventually the graph updates correctly and steps forward again, showing all the data.
I found that if I set DEFAULT_CACHE_DURATION inside local_settings.py to 1, this fixes the problem. So I know this issue is related to caching.
But I'm still confused: Why does Graphite sometimes show me old cached data, and sometimes show me current data? It seems like Graphite should eithe show me cached data, or current data. It should never show me current data...then old cached data.
Feel like I'm missing something.
I'm hesitant to set the DEFAULT_CACHE_DURATION to 1, since this seems like a kludge. Any idea how to troubleshoot this further?

Related

How do I fix NPCs not showing a cast bar for some custom spells?

I am currently creating a module that creates custom boss fights in vanilla dungeons. To accomplish this without having to make edits to existing spells used by other creatures, I've been using Stoneharry Spell Editor to create custom spells that the bosses use.
The spells that I created are doing exactly what I want them to do but the majority of the spells that aren't instant cast will not have a cast timer shown while the boss is casting the spell.
Some of these spells haven't been edited aside from the damage. Just a straight up copy of a basic spell like Lightning Bolt. I searched through all of the attributes and there was no difference between spells that would show the cast timer and those that wouldn't.
What determines whether or not a spell with have a visible cast bar and how do I fix the spells that don't?
I have gone through the process of creating a custom MPQ file to patch my client in addition to the server side DBC file.
I was unable to find the cause of why some of these spells were not showing a cast bar but I did find a flag that can be set to force the display of the cast bar as a fix to the issue.
Setting AttributeEx4 with the value 268435456 (hex value 0x10000000) will force it to display. I confirmed this flag worked with all of the spells that were previously not showing a cast bar.
Might be related, might be unrelated, but from what I understand the 3.3.5 client and blizz's own UI uses events in the combat log to show stuff like cast bars in the UI frame. And because 3.3.5 client famously has bugs that the combat log gets frozen and stuck, sometimes these things disappear. People also call this famous bug other names like the "recount bug", since it leads to addons like Recount showing the wrong values for damage and such, because they stop receiving the correct events from the combat log. Notable thing is though the bug is very strange, it does not always completely freeze everything but rather still let some of the events through, leading the numbers in damage meter addons to change but be completely wrong.
I have stumbled to the same problem with regular mobs and bosses, noticed that some of them suddenly stop showing things like cast bars and buffs/debuffs after the combat log bug happens. The bosses still make their animations for casting and stuff properly, but they don't show in the UI. That's what lead me to think that the stuff happening in the "world" are handled by server sending opcodes but the stuff that is shown in your UI frame are from the combat log.
So first make sure you're using a combat log clearing addon or a macro, like this one:
https://github.com/anzz1/CLFix
Yes, I know that code runs the CombatLogClearEntires() every single frame, but from what I have tested I simply found every other addon that clears the log more infrequently to the combat log bug sometimes happening. Only running it every frame has spared me from any more combat log bugs. See, the thing about that bug is that you have to clear the log before it happens, clearing it afterwards won't usually help and you need to reload the whole UI.
Secondly, what you could do is check what your client sees happening in the combat log by printing the combat log events and comparing the different spell events that way. This can be achieved easily by making a frame, registering the COMBAT_LOG_EVENT_UNFILTERED event and printing the results.
Like this, just wrap that code into a .lua addon to see what's what:
local f = CreateFrame("Frame", nil, UIParent)
f:SetScript("OnEvent", function(self, event, ...)
-- timestamp, eventType, srcGUID, sourceName, srcFlags, destGUID, destName, destFlags, spellID, spellName, arg1, arg2, arg3, ...
print(...)
end)
f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")

How far back can I retrieve time entries for using the end point GET /workspaces/{workspaceId}/user/{userId}/time-entries?

Using the end point
GET /workspaces/{workspaceId}/user/{userId}/time-entries
I'm only able to retrieve time entries for a user going back about 14 days.
Am I able to retrieve older entries through the API?
I have tried the API using no start time, and using a start time 30 days ago and there are no results older than 2019-08-16T19:00:00Z (today is 2019-08-28)
I also tried emailing support#clockify.me and they told me to create an issue here.
I expected to be able to retrieve more than the last two weeks worth of entries.
Jovana from Clockify Support got back to me and the issue was default page size was too small. I added the parameter pageSize=10000 to allow me to retrieve more than a few days worth of entries.
Example
https://api.clockify.me/api/v1/workspaces/{0}/user/{1}/time-entries?page-size=10000

Updating an Apple Watch's complication's content at midnight

I've add my complication entries and this all seems to work well - each complication entry is scheduled for midnight.
I'm testing the time change by setting my Mac's date to the following day where I'm expecting my complication to update to the next entry.
However, it only updates the entry when I open and close my app. I'm expecting to see it automatically change like the other standard complications do. Is this some behaviour I need to go out of my way to implement? I'd expect an automatic change as per the docs.
I've found the following:
ClockKit begins displaying a timeline entry precisely at the time specified by the entry’s date property.
But surely this is a greater than check too? I tried setting it exactly to midnight but (surprisingly) this doesn't work either.
Any help is appreciated.
Additionally, I found the following regarding updating the timeline, but I would have thought this would be for changing the timeline entries as oppose to just refreshing the complication for the current timeline:
During a background app refresh task. You can schedule background tasks to periodically update your watchOS content. This works best when your data changes at predictable times.
The Watch Simulator appears to have some quirks around handling of times. In particular, it doesn’t seem to obey time changes on the underlying system until you relaunch it.
Relaunch the Simulator after changing the system clock and check on your Complication then. If you want to test the transition to the next day specifically, you can set the system time to 11:58 pm and wait for it to cut over.

Cacti - Poller stopped after data source template changed - Old but gold

I'm new here and this is my first post :)
I will try to explain, sorry ahead about my grammar
We moved to GPDR few months ago, and my job is to fix all the graph which Stopped working, we notice it was due to a change in data-source, in this case it was the volume of the disks
Ex: xvdg - xvdf (AWS)
What I've done:
Duplicated each old data source template. to a new one with a new name and volume
Then i changed the old graph with the new data source template
The weird thing that happened, this worked on only 1 graph, and all the other graphs I've change, stopped, didn't show data,
Checking the Cacti logs
I notice these graph pollers are gone...
5 pollers are not showing anymore in the logs
I've tried:
Deleting the rrd, so it will recreate itself - it did but no poller
Re cached the poller index - didnt do any change
Messing with RDDTOOL
Then i notice that if i create a new graph with the new data sources it will work
But i got 6x20 of these to do, i need a creative better way to do this
Please help
Thanks

DirectShow Run graph

This is no longer necessary to keep in forum for lack of poor format nor statistical data keeping.
When the graph says it's running it doesn't really mean any activity is taking place, it just means the graph object told the filters to run and set its "state" variable to "running". However if any filter is stuck for any reason and doesn't send or receive the data everything freezes but the graph state remains "running". Some editors like GraphEditPlus can show states of each particular filter in the graph, so if some of them report to be stopped or paused while some others are still "running" you will see this. In most cases however you'll just see all filters "running" and won't know which of them is stuck unless you insert sample grabbers between them and tell GraphEditPlus to show grabbed samples in real time, this is a good way to understand what's really going on.

Resources