15:01:24 #startmeeting ceilometer 15:01:24 Meeting started Thu Oct 30 15:01:24 2014 UTC and is due to finish in 60 minutes. The chair is eglynn. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:01:25 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:01:27 The meeting name has been set to 'ceilometer' 15:01:32 o/ 15:01:37 \o 15:01:56 last outing before summit :) 15:01:56 o/ 15:01:58 o/ 15:02:01 o/ 15:02:05 Hi! 15:02:33 #topic gnocchi/TSDaaS status 15:03:07 DinaBelova, ityaptin: do you guys want to give the latest on the in-process dispatcher PoC? 15:03:18 ... i.e. the threading issues encountered 15:04:28 eglynn, yeah, for sure 15:04:49 <_elena_> hi) 15:04:57 so ityaptin and I are working on some draft POC of how ceilo + gnocchi via dispatcher without gnocchi api might work 15:05:12 so basically all POCs are loaded to the review 15:05:17 ityaptin - please publish links 15:05:34 #link https://review.openstack.org/#/c/131482/ 15:05:40 eglynn, thanks! 15:06:02 so we're facing issues with direct dispatcher + TS storage 15:06:18 something goes wrong with the threading.local thing.... 15:06:22 let me find a link 15:06:42 #link http://paste.openstack.org/show/126961/ 15:06:46 so we use the threading.local for the context object, or? 15:07:08 eglynn, it's used in the one lib (numexpr) - that's pandas dependency actually 15:07:31 and it seems like the only place we might grab issues from is this pandas -> numexpr chain... 15:07:54 the only thing that makes me kind of suspecious - were do we grab this thing from while OpenTSDB usage? 15:08:01 \as basically we don 15:08:11 opentsdb and swift dispatcher with/without using api: https://www.dropbox.com/s/3lpmh8wegl3vcyk/opentsdb-without-api.html?dl=0 15:08:13 don't seem to use pandas or whatever here 15:08:40 DinaBelova: is that because of the way the storage driver is being loaded *directly* in the dispatcher? 15:08:49 eglynn, results ityaptin has mentioned - are without real ceilometer usage, just syntethic dispatcher test 15:09:01 DinaBelova: ... and also being initialized in the usual way driven by config 15:09:10 eglynn, nope, with the stevedore... 15:09:15 direct load makes no issues 15:09:38 DinaBelova: for context, see my comment on https://review.openstack.org/#/c/131482/3/gnocchi/ceilometer/dispatcher.py 15:10:11 eglynn, one moment, yeah 15:10:39 eglynn, yeah, I got your point 15:10:52 as said, we've tryied get_driver thing on the lab.. 15:11:00 and there was the issue I described... 15:11:13 direct thing you see in the review is working actially... 15:11:25 DinaBelova: could a second get_driver call also be occuring from here https://github.com/stackforge/gnocchi/blob/master/gnocchi/rest/app.py#L85 15:11:41 eglynn, we've removed importing rest locally as well.... 15:11:42 DinaBelova: ... which causes the *default* swift driver to be loaded as well? 15:12:08 eglynn, hm, do you mean while the app is starting? 15:12:19 hm, yeah, interesting, point, let us check it! 15:12:24 eglynn, thank you sir! 15:12:41 cool, thanks! 15:13:07 eglynn, we'll emulate 'normal' working process with some hacks (these direct usage, etc) - to grab the performance results for the ceilo + gnocchi + opentsdb 15:13:25 eglynn, so we're supposing with collector's threading, etc. results will be nice 15:13:25 DinaBelova: so apart from this issue with threading, the performance of the direct approach is looking reasonable? 15:13:37 eglynn, yes, for sure 15:13:50 eglynn, Pecan's API is slowing this this to-o much 15:14:08 you may take a look on the results ityaptin has published earlier here 15:14:16 DinaBelova: reasonable for both carbonara/swift and opentsdb, or just tested for the latter? 15:14:37 eglynn, take a look on https://www.dropbox.com/s/3lpmh8wegl3vcyk/opentsdb-without-api.html?dl=0 15:14:46 there are results for the swift + carbonara there as well 15:15:07 and non-api makes things ~ x12 times faster for any backend thing 15:15:20 although for the swift + carbonara there is impl issue, I guess 15:15:36 with the measurements writing to the smae entity 15:16:06 as you see this /|/ pattern - | is actually when new resource + new entity was created 15:16:45 * eglynn wonders what the x-axis represents in those graphs ... labelled as "index" 15:17:11 eglynn: Number of batch that is sent 15:17:42 ityaptin, as usually, you're having nice namings :D 15:18:16 ityaptin: these batches are sent sequentially or in parallel? 15:18:38 fabiog: Sequentially, in one thread 15:18:48 ityaptin: so is this batching realistic? ... in the sense that we rarely see a so many samples for the same meter+resource all together? 15:19:23 ityaptin: are you running Pecan as separate app or using Apache? 15:19:32 eglynn, this was just to emulate kind of load, to have realistic results we're trying to have ceilo + gnocchi + no - api actually working 15:19:35 ityaptin: by "batch" do you mean a bunch of measures sent to the same entity in a single call? 15:19:41 eglynn, and facing some problems :) 15:20:22 eglynn: yeah, it's 100 samples with same resource_id and counter_name 15:20:56 ityaptin: writen in a sequence of calls, or in a single call to the storage object? 15:21:33 fabiog: When we tested gnocchi with api, we starts gnocchi-api cli script. i think it's run pecan how separate app 15:22:40 ityaptin: right, running it under Apache will improve perf significantly especially if u run several processes 15:22:58 eglynn: It is one call of dispatcher.record_metering_data. But in dispatcher we call storage, indexer or api more or equal than one time. 15:23:13 ityaptin: nevertheless, the difference is too big 4s vs 0,7s for 100 samples 15:23:39 eglynn: I am wondering if we get rid of Pecan in Ceilometer we may fly :-) 15:24:06 fabiog, hehe 15:24:19 fabiog: just curious. but with what? 15:24:26 fabiog: well I guess in general we need some API layer, i.e. this in-process approach is a special case for the collector 15:24:58 ityaptin: so storage.add_measures() is called with with a *single* measure each time? 15:25:09 (... as opposed to multiple measures in a single call to add_measures?) 15:25:10 fabiog: In dispatcher with api, we send 1-3 api post request for every sample. May it affect so strong to processing time? 15:25:33 gordc: Keystone is still usign webOb and it is working well, also you can define routers and controllers in the way you want 15:25:43 ... so basically I'm wondering if we're really batching here at all? 15:26:27 perhaps we should take this discussion offline and include jd__ also? 15:26:32 fabiog: i see... yeah i'm just interest because not really a huge fan of our api implmentation (and i've never looked at improving it) 15:26:53 ityaptin: Pecan is basically a single process with a round-robin like threading 15:27:32 ityaptin: so if you have 5 requests in parallel are acted upon in sequence 15:27:44 eglynn, well, yes probably + we'll have summit Ceilometer+Gnocchi integraitons session to finalize moments like this :) 15:27:47 ityaptin: so if one takes a long time it will impact all the others 15:28:05 eglynn: How I'm understand - no. Maybe I made a mistake earlier. We group samples by resource_id in dispatcher and work with it. 15:28:32 fabiog: In this phrase I make a mistake "we send 1-3 api post request for every sample". 15:28:54 OK, I think we need to separate two orthongonal issues here ... (a) pecan sucking and (b) the problems seen with direct dispatch to gnocchi PoC 15:29:06 (a) is definitely a good topic for longer term discussion 15:29:08 we group samples by resource_id in dispatcher. And send all measures with current res_id 15:29:18 (b) we need to solve for next week if poss 15:29:31 eglynn, yes, indeed 15:30:15 ityaptin: so you are batching measures that have the same resource_id, in batches of 100 each, is that correct? It sounds reasonable to me 15:31:06 ityaptin, fabiog: the way the gnocchi API is consructed, IIUC only writes to the same entity (not just resource) can be batched 15:31:20 eglynn, yes, that's true 15:31:47 (so we need a match on *both* resource_id and meter_name for multiple samples received at about the same time) 15:31:57 fabiog: yes, we send batch with 100 samples. 15:31:57 this rarely happens in practice 15:32:24 eglynn, yes, usually we're having probably one meter_name, but resource IDs different 15:32:41 eglynn, fabiog: I'll run this test with different resources in batch 15:32:59 ityaptin, well, gnocchi API won't batch them actually I suppose 15:33:00 the only time I can think of in practice is when we get a tight seuqnce of compute.instance.start/update notifications during an instance boot 15:33:08 ityaptin, as it's not designed for it 15:33:17 for polled meters, such bunching would never happen 15:33:24 eglynn, about ~8 notificaitons, actually 15:33:37 DinaBelova: but relatively rare 15:33:45 eglynn, yes, for sure 15:33:47 DinaBelova: dispatcher is groups samples by resource_id and process it. 15:34:11 ityaptin, a-ha, ok 15:34:31 ityaptin: yep, but I think it's being optimistic there in that logic 15:34:36 sileht can confirm 15:35:04 but IIUC that group_by logic would rarely yield more than one sample of the same resource_id and same meter_name 15:35:43 eglynn, at least in real life - for sure 15:35:52 with all these different samples appearing 15:36:38 DinaBelova: yep, exactly ... and it's the real life case we need to optimize the profiling for 15:37:10 anyhoo, let's take the discussion off-line, sounds like we need some input from jd__ & sileht 15:37:16 eglynn, ++ 15:37:36 #topic kilo summit planning 15:38:00 fabiog asked for a list of contributor meetup topics last time 15:38:06 #link http://bit.ly/kilo-ceilometer-contributor-meetup 15:38:30 eglynn: Thanks! 15:38:57 that's pretty much the left-over topics from the scheduled design track ... if anyone want to add further topics, please feel free 15:39:11 eglynn: could you give the real URL? bit.ly is blocked in china 15:39:25 llu-laptop: https://docs.google.com/spreadsheets/d/1DbL0ZR9yvgOIIgegMN65SesKtR2_BD4tz5Kpg2S934A/edit 15:39:34 llu-laptop: sorry about that! 15:39:55 eglynn: thx. no, sorry for the government :( 15:40:01 fabiog: i'm looking at something similar to notification filter topic... ie. event pipeline 15:40:18 fabiog: will sync up with you on that. 15:40:47 gordc: cool, that sounds interesting! 15:40:53 gordc: that's exactly what I want to do, have the same concept for the event pipeline duplicated for notification pipeline 15:41:24 eglynn: fabiog: yeah, i think there's some existing rax stacktach bps that we could restart 15:41:36 gordoc: let's talk. are you going to be at the summit? 15:41:48 fabiog: yep. 15:42:01 eglynn: should we have a quick list of people that are sure to go among the team? 15:43:33 that I know of ... fabiog, jd__, sileht, DinaBelova, ildikov, gordc, llu-laptop, nsaje, eglynn 15:43:46 pradk 15:44:03 looks like something close to real, yeah 15:44:16 eglynn: good bunch ;-) 15:44:42 so the Friday meetup sounds like exactly the right place for such emergent discussions 15:45:07 since we have the whole day, without the pressure of time-boxing 15:45:47 one question that came up earlier in the week on http://kilodesignsummit.sched.org/overview/type/ceilometer 15:46:25 since the cross-project track is now including a notifications session also http://kilodesignsummit.sched.org/event/0b6e7e23da3d4fdcdc5cec0777b92c6a 15:46:39 i.e. whether we need a ceilo-specific one as well 15:46:58 eglynn, yeah, I've seen this as well, already mathced I'll got there... 15:47:10 probably we don't need our own session here 15:47:35 and we may give it to something else left in our gTable? some lucky looser? :) 15:47:54 well jd__ will be leading both sessions, he reckoned the ceilo-specific one would give us a chance to discuss in more detail 15:48:12 eglynn, well, this will work as well :) 15:48:22 TBH it would have been better if the corss-project track was finalized by the TC at the same time as the project tracks 15:52:08 anyone else got anything on summit to discuss? 15:52:54 eglynn, nope from my side 15:53:24 #topic Open discussion 15:54:37 eglynn: I am working on preparing the mid-cycle meetup, can you please tell me when historically happened in the fall cycle? Late Jan? 15:55:12 fabiog: great question! ... we've actually only ever one ceilo midcycle (Paris last July) 15:55:42 fabiog, hehe, great news :) where actually? :) 15:55:55 eglynn: HP is happy to host it this time and I even can provide a choice of venues 15:56:11 DinaBelova: Sunnyvale, CA or Galway, IR 15:56:22 Ireland 15:56:37 fabiog: excellent! ... I think late Jan / early Feb would be close to the midpoint 15:57:10 eglynn: let's finalize the dates at the summit, so I can start the organization machine ;-) 15:57:42 fabiog: cool, thanks! 15:57:59 eglynn: my pleasure 15:58:08 fabiog: BTW note the agenda item for the joint TC/board meeting 15:58:11 #link https://wiki.openstack.org/wiki/Governance/Foundation/2Nov2014JointMeeting 15:58:24 "mid cycle meetups - is there a way to reduce travel strain?" ... LOL :) 15:58:41 someone's travel budget is getting strained methinks! 15:59:32 eglynn: that's why I asked my management to propose an European location as well ... I guess you can drive to Galway :-) 15:59:50 fabiog: I can cycle to Galway if needed :) 16:00:04 meetup in galway? ooh, sounds fun 16:00:13 eglynn: there you go 16:00:21 russellb: yeap, /me is warming to that idea! :) 16:00:51 eglynn: I guess you can stop from time to time for some "dark fuel" ... Guinness 16:01:53 fabiog: oh yes, indeed, fueling will be required :) ... the local craft beer is good http://www.galwaybaybrewery.com/ 16:02:04 right-o, we're outta time 16:02:11 thanks folks for a productive meeting! 16:02:23 laters 16:02:33 ... and happy travels for those attending summit 16:02:38 ciao 16:02:40 #endmeeting ceilometer