zachm / tscached Goto Github PK
View Code? Open in Web Editor NEWRead-tier caching layer that duck-types KairosDB.
License: GNU General Public License v3.0
Read-tier caching layer that duck-types KairosDB.
License: GNU General Public License v3.0
Hi,Zach
I am really insterested in this project, after reading your wonderful design, I got lots of inspiration. But I cant get the case you describe in the staleness prevention.
I knew from Google Group that you made a speech about tscached, would you please send me the slides?
Best regards
I can't find a straightforward way to get Tscached to use https connections instead of just http connections when communicating to KairosDB and Grafana. We are trying to roll this out to test in our company but we need the traffic to be https. If there is a way to configure this already can it be made more obvious? If there is no way to do this right now can it be added?
We started playing with tscached, and have tried adjusting the default_expiry values in the yaml file, but either we don't understand what is doing or..
In Grafana, when loading via tscached, we can see only 3 hours of data, adjusting these values does not seem fix that. A quick grep of the code did not show any usage of the config parameters?
We need some way for the client to be able to tell Tscached to refresh the cache (we have experienced a few errors) for some metric or even a particular query. Currently it seems that the only way to get Tscached to refresh the cache is to restart tscached. For us to be able to use this in a large/significant deployment the client would need to be able to tell tscached to refresh.
Hi, I am testing out tscached and the performance is looking really good. One issue that I am consistently seeing is that If I issue a query it returns empty response first two times and then third time it sends the response back. Its quite random and I have to re issue the query multiple times.
Looking at the log for the first 2 requests it says Query is WARM but returns empty response and then 3rd time is says Query is HOT and returns the appropriate response.
2017-04-06 18:46:26,264 [uWSGIWorker1] [INFO ] Query
2017-04-06 18:46:26,266 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:26,266 [uWSGIWorker1] [INFO ] Shadow: Added 0 key: tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:26,266 [uWSGIWorker1] [INFO ] KQuery is WARM
2017-04-06 18:46:26,267 [uWSGIWorker1] [INFO ] Starting new HTTP connection (1): 100.122.12.220
2017-04-06 18:46:26,430 [uWSGIWorker1] [DEBUG] "POST /api/v1/datapoints/query HTTP/1.1" 200 None
2017-04-06 18:46:26,435 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:mts:ff6427487fd8e630d06770a42f6d8733
2017-04-06 18:46:26,443 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:mts:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:26,443 [uWSGIWorker1] [ERROR] merge_at_end: current MTS is None, or contained no data! tscached:mts:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:26,443 [uWSGIWorker1] [ERROR] ttl_expire: MTS None, or contained no data points! tscached:mts:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:26,444 [uWSGIWorker1] [INFO ] MTS write pipeline: 1 of 1 successful
2017-04-06 18:46:26,444 [uWSGIWorker1] [INFO ] Cache SET True tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
[pid: 9|app: 0|req: 49/50] 192.168.99.1 () {44 vars in 781 bytes} [Thu Apr 6 18:46:26 2017] POST /api/v1/datapoints/query => generated 48 bytes in 181 msecs (HTTP/1.1 200) 3 headers in 101 bytes (1 switches on core 1)
2017-04-06 18:46:42,593 [uWSGIWorker1] [INFO ] Query
2017-04-06 18:46:42,594 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:42,594 [uWSGIWorker1] [INFO ] Shadow: Added 0 key: tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:42,594 [uWSGIWorker1] [INFO ] KQuery is WARM
2017-04-06 18:46:42,595 [uWSGIWorker1] [INFO ] Starting new HTTP connection (1): 100.122.12.220
2017-04-06 18:46:42,759 [uWSGIWorker1] [DEBUG] "POST /api/v1/datapoints/query HTTP/1.1" 200 None
2017-04-06 18:46:42,763 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:mts:ff6427487fd8e630d06770a42f6d8733
2017-04-06 18:46:42,765 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:mts:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:42,765 [uWSGIWorker1] [ERROR] merge_at_end: current MTS is None, or contained no data! tscached:mts:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:42,765 [uWSGIWorker1] [ERROR] ttl_expire: MTS None, or contained no data points! tscached:mts:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:42,765 [uWSGIWorker1] [INFO ] MTS write pipeline: 1 of 1 successful
2017-04-06 18:46:42,766 [uWSGIWorker1] [INFO ] Cache SET True tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
[pid: 9|app: 0|req: 50/51] 192.168.99.1 () {44 vars in 781 bytes} [Thu Apr 6 18:46:42 2017] POST /api/v1/datapoints/query => generated 48 bytes in 174 msecs (HTTP/1.1 200) 3 headers in 101 bytes (1 switches on core 0)
2017-04-06 18:46:43,350 [uWSGIWorker1] [INFO ] Query
2017-04-06 18:46:43,352 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:43,352 [uWSGIWorker1] [INFO ] Shadow: Added 0 key: tscached:kquery:8824ff746787b7aed6cfe9a8451e2b25
2017-04-06 18:46:43,352 [uWSGIWorker1] [INFO ] KQuery is HOT
2017-04-06 18:46:43,354 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:mts:ff6427487fd8e630d06770a42f6d8733
2017-04-06 18:46:43,356 [uWSGIWorker1] [DEBUG] Cache HIT: tscached:mts:8824ff746787b7aed6cfe9a8451e2b25
[pid: 9|app: 0|req: 51/52] 192.168.99.1 () {44 vars in 781 bytes} [Thu Apr 6 18:46:43 2017] POST /api/v1/datapoints/query => generated 104912 bytes in 14 msecs (HTTP/1.1 200) 3 headers in 97 bytes (1 switches on core 5)
Content-Type:text/html; charset=utf-8
is returned, instead of 'application/json'.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.