[03:55:48] Analytics-Backlog, Analytics-Cluster, Easy: Mobile PM sees reports on browsers (Weekly or Daily) - https://phabricator.wikimedia.org/T88504#1615431 (Krinkle) See also T107175. I'm also eagerly waiting for this. Essentially a user-friendly insight to aggregated information from wmf.webrequest.user_agent... [07:06:01] Analytics-Cluster, operations: Fix llama user id - https://phabricator.wikimedia.org/T100678#1615603 (faidon) Any news here @ottomata? puppet has been failing on analytics1026 for more than 68 days now. [09:24:08] Analytics-Tech-community-metrics, ECT-September-2015: Automated generation of (Git) repositories for Korma - https://phabricator.wikimedia.org/T110678#1615864 (Dicortazar) @Qgil, that's the point. However, as the name of the git repositories can be inferred from the name of the gerrit projects, that shou... [09:50:15] Analytics-Tech-community-metrics, ECT-September-2015: Automate the identities generation - https://phabricator.wikimedia.org/T111767#1615957 (Dicortazar) NEW a:Dicortazar [09:51:56] Analytics-Tech-community-metrics, ECT-September-2015: Automate the identities generation - https://phabricator.wikimedia.org/T111767#1615957 (Dicortazar) [09:51:58] Analytics-Tech-community-metrics, ECT-September-2015: "Median time to review for Gerrit Changesets, per month": External vs. WMF/WMDE/etc patch authors - https://phabricator.wikimedia.org/T100189#1615966 (Dicortazar) [09:54:14] Analytics-Tech-community-metrics, ECT-September-2015: "Median time to review for Gerrit Changesets, per month": External vs. WMF/WMDE/etc patch authors - https://phabricator.wikimedia.org/T100189#1615983 (Dicortazar) We're now working on an automated way to deal with identities and affiliations. We alrea... [10:03:45] Analytics-Tech-community-metrics, ECT-September-2015: Provide open changeset snapshot data on Sep 22 and Sep 24 (for Gerrit Cleanup Day) - https://phabricator.wikimedia.org/T110947#1615994 (Dicortazar) @Aklapper, is this related to this panel?: http://korma.wmflabs.org/browser/scr-backlog.html This is a... [12:38:25] Hey halfAFK [12:38:37] nO NEWS ON MY SIDE TODAY [12:39:06] do you have things you'd like to discuss, or do we cancel the meeting ? [12:39:12] halfAFK: --^ [12:51:00] morning [12:51:06] Hi milil [12:51:11] milimetric sorry [12:51:18] hi joal :) [12:51:39] o/ joal & milimetric [12:51:43] hey, I'm going to skip our meeting this morning guys [12:51:49] Nothing here either. Let's all skip :) [12:51:53] ok ! [12:52:37] Something somewhat unrelated that I wanted to show you guys: https://www.mediawiki.org/wiki/User:Halfak_%28WMF%29/mediawiki-utilities [12:54:03] Anything with a [docs] link is ready to use. [12:54:12] Just had a quick glance : seems awesome halfak ! [12:55:11] I'm converting mediawiki utilities from a monolith into a set of small unixy packages. :) [13:05:40] halfak: microservices FTW ! [13:06:48] And composable parts! [13:13:12] :) [13:34:08] (PS2) Bmansurov: Add filters above timeseries graphs in the compare layout [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [13:34:59] (PS2) Joal: Add json revisions sorted per page job [analytics/wikihadoop] - https://gerrit.wikimedia.org/r/233937 (https://phabricator.wikimedia.org/T108684) [13:36:00] (CR) Bmansurov: "Hi Dan, I'd appreciate some feedback on my monkey patch." [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [13:36:13] bmansurov: looking now [13:36:19] thanks [13:58:39] Quarry: Time limit on quarry queries - https://phabricator.wikimedia.org/T111779#1616299 (Jarekt) NEW [14:00:13] Quarry: Time limit on quarry queries - https://phabricator.wikimedia.org/T111779#1616307 (yuvipanda) Those aren't actually running for months, I think - those happen when for some reason there's an unhandled exception in the query results serializer, preventing it from updating the status accordingly... Nee... [14:25:18] (CR) Joal: "Thanks Marcel for your comments :)" [analytics/wikihadoop] - https://gerrit.wikimedia.org/r/233937 (https://phabricator.wikimedia.org/T108684) (owner: Joal) [14:36:58] holaaaa [14:37:41] (CR) Milimetric: Update SQL scripts to reflect Edit schema change (4 comments) [analytics/limn-edit-data] - https://gerrit.wikimedia.org/r/236237 (https://phabricator.wikimedia.org/T111557) (owner: Neil P. Quinn-WMF) [14:39:12] Analytics-Dashiki, Analytics-Kanban, Browser-Support-Firefox: vital-signs doesn't display pageviews graph in Firefox 41, 42 {crow} [3 pts] - https://phabricator.wikimedia.org/T109693#1616415 (Milimetric) @Nemo_bis, I'm just making sure, you have the same issue despite clearing your cache? I tried it w... [14:45:00] joal:yt? [14:45:07] Yup nuria [14:45:17] what's up ? [14:45:18] I was doing the CR for the cassandra stuff [14:45:33] Yes [14:45:44] joal: and i am not sure what this class does: https://gerrit.wikimedia.org/r/#/c/236224/1/oozie/cassandra/refine_webrequest.hql [14:46:24] Oh ! That's a file copy-paste mistake :S [14:46:33] ahhhh [14:46:35] ok [14:46:39] that makes sense [14:46:43] Sorry for having spot it :) [14:47:46] sorry for NOT having spot it myself nuria [14:48:53] joal: np, then, idea is to load cassandra from pageview_hourly [14:49:07] and so far your changes are going into /tmp for testing right? [14:49:13] nuria: from pageview_hourly and projectview_hourly [14:49:19] joal:right [14:49:49] and tmp is just because I need some temp storage between my two steps (data computation and loading job) [14:53:11] nuria: --^ [14:53:28] joal:ok [14:54:49] So the last step of a successful job is to delete that temp folder [14:54:52] nuria: --^ [15:04:40] joal: right, looking into that now [15:04:54] Thanks nuria [15:14:44] joal: and the cassandra load job is to come then? [15:15:03] joal: as a future changeset, correct? [15:15:27] nope, it's actually a dependent change nuria [15:16:17] (CR) Nuria: [C: 1] "Looks good, just one file needs to be removed." (1 comment) [analytics/refinery] - https://gerrit.wikimedia.org/r/236224 (https://phabricator.wikimedia.org/T108174) (owner: Joal) [15:19:53] (PS3) Bmansurov: Add filters above timeseries graphs in the compare layout [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [15:20:51] Analytics-Kanban: Delete obsolete schemas {tick} - https://phabricator.wikimedia.org/T108857#1616623 (mforns) a:mforns [15:21:12] (PS4) Bmansurov: Add filters above timeseries graphs in the compare layout [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [15:21:33] Analytics-Kanban: Delete obsolete schemas {tick} - https://phabricator.wikimedia.org/T108857#1532313 (mforns) Here's the list of the schemas that should be permanently deleted: ``` Campaigns_5485644 Campaigns_5487321 Analytics_5751947 NewEditorMilestone_6538838 PerformanceMetric_6757313 AccountCreation_493334... [15:25:37] (CR) Milimetric: "This looks like it works, I'll try it after some meetings today. In the meantime, you should add a simple test for pickColumns in https:/" [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [15:30:13] (PS1) Nuria: [WIP] Make pageview definition aware of preview parameter [analytics/refinery/source] - https://gerrit.wikimedia.org/r/236800 [15:31:10] (CR) Bmansurov: "OK" [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [15:43:42] Analytics, Labs, Labs-Infrastructure, Labs-Sprint-108, Patch-For-Review: Set up cron job on labstore to rsync data from stat* boxes into labs. - https://phabricator.wikimedia.org/T107576#1616747 (ellery) Thanks Otto! [15:50:25] halfak: same as last week --> meeting with altiscale ? [16:02:53] (CR) Milimetric: [C: -1] Add filters above timeseries graphs in the compare layout (1 comment) [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [16:10:53] halfak: do we spend the rest of the meeting discussing the collaboration with Nathan ? [16:11:56] Nathan ...? [16:12:00] joal, ^ [16:12:13] hm? I guess I didn't get the name correctly :S [16:12:14] Oh! Nitin! [16:12:16] :) [16:12:18] Sure! [16:12:19] Sorry [16:12:21] * halfak jumps back in [16:12:25] Or batcave? [16:12:44] joining the previous one [16:14:49] ottomata: you lemme know when you need me to read your writeup [16:14:57] ottomata: will be testing udfs until then [16:16:00] k am in ops meeting, still tweaking some [16:22:37] milimetric: i have emailed lydia for hive access but got no response, let me know if she pings you [16:22:50] will do nuria [16:29:34] Hey milimetric [16:29:40] hi joal [16:29:42] Got out of meeting with Aaron [16:29:48] ooh, i got one with kevin now :/ [16:29:52] after :) [16:29:59] np ! [16:30:16] * joal gets back to bots [16:30:27] (PS5) Bmansurov: Add filters above timeseries graphs in the compare layout [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [16:32:05] (CR) Bmansurov: "I've added some tests too, but getting a weird error related to karma: "Can not load "requireglobal", it is not registered! Perhaps you ar" (1 comment) [analytics/dashiki] - https://gerrit.wikimedia.org/r/231424 (https://phabricator.wikimedia.org/T104261) (owner: Milimetric) [16:32:42] Hey mforns [16:33:07] Got halfak validation: do you mind merging the XML->JSON patch in wikihadoop ? [16:33:17] +1 [16:35:45] thx halfak [16:50:02] ottomata: looking ... [17:12:01] joal, I need more time with these comments man. I have another meeting soon too, so let's talk tomorrow [17:16:07] madhuvishy: HEWO [17:16:16] ottomata: Hiii [17:16:26] shall we? [17:16:35] milimetric: ok no problem [17:16:35] yes, omw to batcave [17:21:38] I guess I haven't been on stat1003 in a while, the research password changed [17:22:01] marktraceur, if you are in the right group, you can read a special file [17:22:02] How do I get the secrets [17:22:04] what are your groups? [17:22:08] Errr [17:22:27] mforns: around? [17:22:37] madhuvishy, in meeting [17:22:38] statistics-users researchers [17:22:43] mforns: we are seeing a weird exception because of dupliate key error with eventlogging [17:22:48] that is causing the process to die [17:22:49] marktraceur, check out /etc/mysql/conf.d/research-client.cnf [17:22:51] Ta [17:22:54] And add a symlink [17:23:00] So when we change it again, you don't notice :D [17:24:03] Indeed. [17:24:11] Oh, now there's some other silly error. Sigh. [17:24:26] Possible the mysql server needs to be restarted? [17:24:47] Looks mostly OK to me, but I can't connect [17:25:30] milimetric: , yt? [17:26:20] hey ottomata [17:26:31] can you come to batcave for a sec [17:26:33] madhu and I have a q [17:26:40] about el mysql consumer [17:26:46] brt. [17:30:27] halfak: Isn't the sql server on a different host? Looks like the file you mentioned points at localhost. [17:33:06] marktraceur, the file doesn't reference a host [17:33:11] Right [17:33:18] OK, I just added it to the command, whatever [17:33:31] Yeah. That's what I do. I set up an alias. [17:33:50] alias dbstore='mysql --defaults-file=~/.my.research.cnf -h analytics-store.eqiad.wmnet -u research' [17:34:08] ~/.my.research.cnf is my symlink [17:36:18] Right [17:36:51] OK, looks like I've got access and all...now to start hammering stat1003 with some queries... [17:36:56] Well, "hammering" [17:37:02] Really it shouldn't be too bad, I'm dealing with uploads [17:42:09] Analytics-Tech-community-metrics, ECT-September-2015: Automated generation of (Git) repositories for Korma - https://phabricator.wikimedia.org/T110678#1617460 (Aklapper) >>! In T110678#1590569, @Qgil wrote: > because this will allow us to mark repositories as "Inactive"in code review terms, but we will st... [17:45:03] (PS2) Joal: [WIP] Add cassandra load job for pageview API [analytics/refinery] - https://gerrit.wikimedia.org/r/236224 (https://phabricator.wikimedia.org/T108174) [17:46:35] (CR) Joal: [WIP] Add cassandra load job for pageview API (1 comment) [analytics/refinery] - https://gerrit.wikimedia.org/r/236224 (https://phabricator.wikimedia.org/T108174) (owner: Joal) [17:47:42] Analytics-Tech-community-metrics, ECT-September-2015: Provide open changeset snapshot data on Sep 22 and Sep 24 (for Gerrit Cleanup Day) - https://phabricator.wikimedia.org/T110947#1617472 (Aklapper) @Dicortazar: It's basically about those two "total" numbers of [[ http://korma.wmflabs.org/browser/gerrit_... [18:08:11] madhuvishy, hi [18:08:38] mforns: ottomata and i had a question on the EL consumer. milimetric helped out :) [18:08:51] or did you ping about something else? :) [18:09:02] madhuvishy, oh sorry, I was in the meeting with jaime crespo [18:09:06] no, just that [18:09:30] mforns: no problem! [18:09:34] ok [18:14:03] actually mforns_brb, milimetric we do have a big [18:14:05] question [18:14:07] batcave again? [18:26:16] mforns_brb: milimetric, take a look [18:26:16] https://gerrit.wikimedia.org/r/#/c/236850/ [18:26:24] madhuvishy: and I are going to merge and deploy this [18:34:54] Quarry: Time limit on quarry queries - https://phabricator.wikimedia.org/T111779#1617653 (Jarekt) Ok So you are saying I should stop waiting for my http://quarry.wmflabs.org/query/5045 query results? ;) If they are all killed after 20 min., as queries from other tools like CatScan2, than no need for " easy... [18:52:21] ottomata: was away, looking [18:52:50] Is there a performance difference between Hive and Beeling when querying? [18:52:58] Any feedback on this Hive query? [18:52:59] SELECT CONCAT(user_agent_map['browser_family'], ' ', user_agent_map['browser_major']), COUNT(*) FROM webrequest WHERE year=2015 AND month=8 AND is_pageview GROUP BY user_agent_map['browser_family'], user_agent_map['browser_major']; [18:53:17] Beeline* [18:55:34] madhuvishy / ottomata: crazy that setup.py didn't have a mysql driver until now :) [18:55:40] the patch looks good to me [18:55:47] +2 post-merge [18:56:11] hey krinkle [18:56:13] Krinkle: I don't think there's a perf. difference, but we haven't tried beeline yet. [18:56:26] Shouldn't be any perf diff [18:56:35] your query looks fine too [18:56:45] But there is a faster way to get your result [18:56:50] I was hoping there is [18:56:56] Krinkle: the only thought is maybe you'd want to sample a bit, 'cause a month of data is a LOT to crunch over [18:57:21] Krinkle, milimetric: is_pageview --> pageview_hourly [18:57:21] is there reason to not sample? [18:57:40] yeah, querying pageview_hourly works too [18:58:00] or using TABLESAMPLE: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Sampling [18:58:24] So you mean query pageview_hourly instead of webrequest and omit the condition [18:58:31] you could go for: correct Krinkle [18:58:37] sorry :) [18:58:43] Krinkle: exactly [18:59:00] Krinkle: data size is 1 over 30 [18:59:06] should be faster [18:59:19] and that table is not sampled? [18:59:25] nope [19:00:10] And by the way, another thing you would need to do if you wanted to stay with webrequest table is to add a restriction clause on webrequest_source partition [19:00:43] like: "AND webrequet_source IN ('text', 'mobile')" [19:00:50] Krinkle: --^ [19:00:57] Why? [19:01:10] Cause is_pageview only applies for data in those two partitions [19:01:21] No pageview in uploads for instance :) [19:01:24] Right [19:01:29] Ah, so it optimises the query [19:01:33] correct [19:01:35] not needed for _hourly? [19:01:47] nope, pageview_hourly has that job done for you :) [19:02:06] Oh, I was about to forget [19:02:11] So my current workflow is to run this query, dump it into google docs, populate an additional percentage column, copy it into plot.ly and generate a bar graph [19:02:28] You need to SUM(view_count) instead of COUNT(*) [19:02:38] hm [19:02:54] Krinkle: if you dump it into /a/aggregate-datasets on stat1002, it'll end up here: http://datasets.wikimedia.org/aggregate-datasets/ [19:03:01] Cause pageview_hourly pre-aggregates on dimensions [19:03:02] Hm.. intersting. view_count can be > 1? [19:03:06] so you can get data out publicly that way too, and load from plotly [19:03:27] sure can be :) [19:04:00] Krinkle: "views" in pageviews_hourly are the hourly views for the values in the other columns [19:04:03] ah, there are no query, path, or user columns [19:04:18] yeah, and no varnish host [19:04:33] okay, that makes it quite plausible indeed [19:04:53] K. query now takes 10min instead of 45 :) [19:06:05] nice :) [19:11:40] (PS1) OliverKeyes: Add non-API searches to search UDFs [analytics/refinery/source] - https://gerrit.wikimedia.org/r/236860 [19:12:40] ottomata, madhuvishy, I just got back [19:12:47] looking at the patch [19:13:36] (CR) OliverKeyes: "These are teeny tiny petty tweaks and shouldn't impact the mergability of the code." (3 comments) [analytics/refinery/source] - https://gerrit.wikimedia.org/r/236800 (owner: Nuria) [19:19:26] joal: milimetric: Thanks [19:19:27] https://docs.google.com/spreadsheets/d/1n9FhSqcBGM9iKXrlHsP0EZI0gU89Rmz5m51uglUGVjs/edit#gid=0 [19:19:42] cool [19:20:00] Nice :) [19:21:31] It'd be cool to maybe get some telemetry into "Other" and see what major User-Agent may be missing support in ua-parser [19:21:37] Krinkle: This pageview_hourly table is really made for the kind of analysis you are doing, so please go for it ! :) [19:21:59] over 10% of global traffic is "Other" [19:22:14] yeah Krinkle [19:22:33] A first thing we have to do is to update our version of ua-parser regexp [19:22:47] Ours are a bit outdated (and UAs change fast) [19:23:11] It's on the go: https://phabricator.wikimedia.org/T106134 [19:23:18] Krinkle: --^ [19:24:53] Hn.. bingbot and googlebot are also part of it by default I see [19:24:58] I guess they qualify as page views [19:25:35] Excluding may not be trivial since Google is also starting to pre-render stuff in various experiments so it really could be a page view [19:25:47] They qualify as pageviews, but you can remove (most of) them easily with 'AND agent_type = 'user'' [19:25:51] Krinkle: --^ [19:26:06] joal: What are the distinct values? [19:26:19] for the moment we have 'user' and 'spider' [19:26:28] It's not part of ua-parser? [19:26:39] We are in the process of adding bot (for specific wiki bots we know about [19:28:09] agent_type = 'spider' === (user_agent_map['device_family'] = 'Spider' OR user_agent RLIKE '(goo wikipedia|MediaWikiCrawler-Google|wikiwix-bot)' [19:28:17] Thanks Ironholds for CR, let me get the final changes in and you can CR-gain, ccjoal [19:28:19] Forgot q parenthesis [19:28:23] Thanks Ironholds for CR, let me get the final changes in and you can CR-gain, cc joal [19:28:35] nuria, np! Everything else LGTM [19:28:36] thanks nuria for letting me know [19:28:53] Krinkle: --^ [19:29:15] OK. [19:29:19] And we are also currently working on that (bots): https://phabricator.wikimedia.org/T108598 [19:29:37] You couldn't be more on the spot Krinkle :) [19:30:18] The bot noise isn't too bad for the numbers, but it's deceptive when looking at percentages [19:30:36] Right [19:31:05] Hm.. agent_type does slow down the query a fair bit but I'll wait patiently :) [19:31:40] Really Krinkle ? [19:32:28] A good way to know if your query is really slowed down or if you hit resource bottleneck is to watch, at the end of the query, the real CPU time [19:32:54] Since hadoop is shared resource and paralellize load, it's a better estimation of query efficiency than speed [19:32:58] Krinkle: --^ [19:33:58] And when I say real CPU time, I mean the line that starts with: Total MapReduce CPU Time Spent [19:35:48] Analytics-EventLogging: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1617951 (bd808) NEW a:Ottomata [19:36:32] joal: it's about the same [19:36:38] Analytics-EventLogging: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1617966 (bd808) a:Ottomata>None Should we put this in Gerrit or just have it be GitHub only? I'd lean towards Gerrit. [19:36:40] So Chrome 44 changed from 11 to 19% [19:36:45] when filtering out non-user [19:39:56] Hm.. there's a long train of non-sensical values [19:39:59] like Firefox 8013 [19:40:14] Safari 38 [19:41:04] Maybe I should filter out entries with < X number of hits [19:41:12] Analytics-Kanban: Change the agent_type UDF to have three possible outputs: spider, bot, user {hawk} [13 pts] - https://phabricator.wikimedia.org/T108598#1617983 (JAllemandou) Quick analysis over a recent hour using three regexp, '(?i).*bot.*', '(?i).*crawler.*', and the one define by Bob (link in the task de... [19:41:41] Meh, then the total would be off. I'll leave it as is and just display only the top 100 [19:41:41] nuria, milimetric, Ironholds : Do you mind having a quick look --^ [19:42:13] I'd like a confirmation about the WikiBot convention, and the addition of the regexps to our bot filtering system. [19:42:25] If possible please :) [19:42:29] joal, the phab link above or is there a gerrit patch? [19:42:33] Krinkle: that sounds right, ua parsing will always be imprecise as it is hard to keep up, but the majority of the reporting should be correct [19:42:56] Ironholds: Nope, analysis only before coding (I managed to do that, do you ealize ? ;) [19:43:04] Yeah, i've contributed a fair bit to ua-parser myself when working on jQuery TestSwarm [19:43:12] joal, so, the phab ticket? [19:43:17] Yes [19:43:20] The patterns are mostly just that, patterns. Not bound to sanity ranges [19:43:35] yeah, ua-parser is (speaking as one of the technical architects) fucking terrible [19:43:36] so people making up user agents that match the pattern of a real browser will get reported as such [19:43:41] it remains, however, less terrible than the alternative [19:43:48] I just wish I could say totally rebuild the schema ;p [19:43:48] Yeah, it's one of the best. [19:44:09] the one big change I'd make is adding more metadata to the YAML file to indicate conflicts. [19:44:14] Ironholds: Hm.. what kind of ideals do you have in mind in this regardd? [19:44:23] Krinkle I have used uadetector, works reasonably well as well [19:44:37] at the moment if a known UA would match multiple patterns, we solve that by...putting the "right" one further up in the file, so it's hit first [19:44:47] Ironholds: Right :D [19:44:58] Well Ironholds, that works ! [19:45:00] Opera > Chrome > Safari [19:45:01] problem; that "right" regex right for that one known UA may be ~~totally stupid to run against everything and yet we have to~~ [19:45:07] Krinkle has it [19:45:15] another common problem is in relation to particular iOS versions [19:45:19] joal, it works but it's inefficient [19:45:26] yup :) [19:45:26] http://webaim.org/blog/user-agent-string-history/ [19:45:33] every UA you submit, or a vast chunk of them, must always be checked to see if they're Opera. [19:45:55] (from 2007) [19:45:59] joal: do you want comments on tt? [19:46:04] Zakas did a nice rendition of it in 2010 https://www.nczonline.net/blog/2010/01/12/history-of-the-user-agent-string/ [19:46:05] so one thing I wanted to do was refactor the YAML schema to specify names for each pattern and some sort of run_if_match parameter [19:46:26] basically if you DID match Safari, it'd know to check if you were Chrome and/or Opera before confirming a match [19:46:41] which means we could order regexes in order of commonality rather than primacy [19:46:47] yes pliz nuria, two things: Do I include the three regexp given what we have seen, and second, are you ok with WikiBot convention [19:46:51] ambiguous UAs would take longer to match but "most" UAs would take much less time [19:46:58] Ironholds: Hm.. bottom up essentially? [19:47:22] more binary-tree like rather [19:47:25] indeedy [19:47:42] but I never got around to it because I didn't particularly want to handle the work of /also/ refactoring all the /implementations/ :/ [19:47:51] running the C++ and R versions are enough work for me [19:48:04] joal, it looks good. I can think of a couple of not-used heuristics we could incorporate, actually. [19:48:17] Please comment Ironholds :) [19:48:19] I've actually been working on a very similar problem for search [19:48:21] cool! [19:48:38] Ironholds: If you find an exploit in the regex implementations you can just ship C code in them and not have to update the other implementations. [19:48:44] :P [19:49:51] ahahah [19:49:53] Analytics, Engineering-Community, MediaWiki-API, Research consulting, and 3 others: Metrics about the use of the Wikimedia web APIs - https://phabricator.wikimedia.org/T102079#1618011 (SVentura) @spage, thanks for adding @Ironholds. APIs use: We have a really big need to find out the WHO, HOW, W... [19:50:12] I think I'm just going to hyper-optimise the C++ implementation (which is /terrible/) and call that victory. [19:50:12] Ironholds: About WikiBot convention, if you have an opinion, please share as well :) [19:50:17] joal, yep [19:50:26] thanks man [19:50:35] Guys, It'll be my day ! [19:50:42] Have a good end of day a-team ! [19:50:52] Analytics-Kanban: Change the agent_type UDF to have three possible outputs: spider, bot, user {hawk} [13 pts] - https://phabricator.wikimedia.org/T108598#1618014 (Nuria) >if user agent contains (eg. WikiBot) then mark agent_type = bot Sounds good. >Overall, if we were to use the three regexp in addition to... [19:51:01] milimetric: let me know tomorrow if you want us to read some puppet [19:51:28] Analytics-Kanban: Change the agent_type UDF to have three possible outputs: spider, bot, user {hawk} [13 pts] - https://phabricator.wikimedia.org/T108598#1618018 (Ironholds) Agreed and agreed. A couple more heuristics I've found useful: 1. Looking for an email address and/or URL. This would need to be tested... [19:52:25] ottomata, madhuvishy, I added a comment in the mysql consumer patch, just an idea for error recovery improvement :]. The code looks cool, you found a real issue: the mysql writer handles all other queues before exiting but not the one that had the error. [19:53:32] ottomata: I'm back - batcave? [19:53:46] ottomata1: ^ [19:53:52] oo mforns nice idea [19:53:56] Analytics, Engineering-Community, MediaWiki-API, Research consulting, and 3 others: Metrics about the use of the Wikimedia web APIs - https://phabricator.wikimedia.org/T102079#1618022 (Ironholds) >>! In T102079#1618011, @SVentura wrote: > @spage, thanks for adding @Ironholds. > APIs use: We have... [19:54:06] madhuvishy: lets do IRC for a bit [19:54:16] ottomata: okay [19:54:16] so, it deployed in labs [19:54:19] have also done in prod now [19:54:24] ah cool [19:54:26] doing in labs first was good, found a couple of tweaks to ake [19:54:27] make [19:54:31] aha [19:54:44] so, forwarderon eventlog1001 is now producing to kafka as well as 0mq [19:54:47] so you added the kafka forwarder to prod [19:54:52] cool [19:55:06] i think we should do the eventlogging server side processor next [19:55:15] yeah alright [19:55:16] make it consume from kafka instead of zmq [19:55:23] we can either just do that [19:55:29] or we can make it do that, and produce to kafka too [19:55:35] in addition to producing to zm1 [19:55:37] 0mq [19:55:43] thoughts? [19:55:45] just consume first? [19:55:52] i don't think it will hurt to output to both. [19:56:01] hmmm [19:56:26] if we test switching off one in labs [19:56:43] and it's fine, may be we can just follow through in prod? [19:57:04] given that the events are going into kafka now, we won't lose data right [19:57:36] hm,yes, but we can't use multiplexer with anyting but 0mq [19:57:46] Ironholds: Can I make this spreadsheet public? I know it's only ua-parser aggregated data, but since those values can be abused it does expose a few unique entries. [19:57:48] so we can't turn off server side valid 0mq until we also do client side [19:57:54] I dont' imagine so but just want to sanity check [19:58:01] ottomata: aah okay, lets keep both then [19:58:07] k [19:58:16] Krinkle, on the phab ticket? [19:58:16] ja i think we should do this for server side [19:58:17] then client side [19:58:21] with both 0mq and kafka on [19:58:27] it makes me a bit uncomfortable but it's more the lawyers or security peeps to ask than I [19:58:27] ottomata: ya alright [19:58:28] Ironholds: g docs https://docs.google.com/spreadsheets/d/1n9FhSqcBGM9iKXrlHsP0EZI0gU89Rmz5m51uglUGVjs/edit#gid=0 [19:58:30] then we can change mysql consumer, and maybe hafnium stuff [19:58:38] ottomata: yup cool [19:58:42] oh, and we can talk to Krinkle about changing their stuff on hafnium too [19:58:43] :) [19:58:49] * Krinkle hides [19:58:51] heheh [19:58:55] Krinkle, previously we've done that with a minimum cutoff for values [19:58:57] Krinkle: we might do it for you... :) [19:58:58] and it's been fine [19:59:13] what timeframe is this over? [19:59:13] ok, madhuvishy preparing patch [19:59:17] (1 day, 1 week, 1...?) [19:59:17] Ironholds: August [19:59:20] oh, wow [19:59:25] awesome! [19:59:39] I'd say if you roll everything with sub-10k entries up into "Other" just to be on the safe side you'll probably be fine [19:59:49] Okay [19:59:51] but you may want to poke Chris or whoever Michelle's delegate is [19:59:53] just to be sure [20:01:32] ottomata: okay, let me know when you push [20:04:28] madhuvishy: https://gerrit.wikimedia.org/r/236921 [20:05:46] Analytics-Tech-community-metrics, Research consulting, Research-and-Data: Data for audit report - https://phabricator.wikimedia.org/T110067#1568254 (DarTar) @ezachte, I understand this is completed on our end, moving it to Done. [20:07:19] Krinkle: when we reported browsers for teams before we "eat" the longtail [20:07:30] ottomata: do we still need the processor:kafka role [20:07:44] yes, it is still pushing client side events to kafka [20:07:58] aah right [20:08:04] on analytics1010 [20:08:09] right i forgot [20:08:14] i mean, until we move it to eventlog1010, it isn't produciton [20:08:15] but ja [20:08:20] 1001* [20:08:48] madhuvishy: ok to merge? [20:08:51] ottomata: cool. i saw you named something as server-side-0, was wondering why [20:09:03] ah, yes, just anticipating running more processorws [20:09:09] for now we just run 1 [20:09:34] ah okay cool, ya lgtm [20:11:09] running puppet in labs [20:13:07] Ironholds: When did we last update ua-parser? does our version support Microsoft Edge yet? [20:13:16] looks good in labs madhuvishy, running puppet in prod [20:13:27] ottomata: alright [20:14:05] Krinkle, I don't actually know, that's an AnEng Q [20:14:16] the new version does because I had to patch it ([expletive] microsoft) [20:14:20] Yeah [20:14:44] I know because it forced me to refactor jQuery TestSwarm to finally switch off tobie/ua-parser [20:14:53] in order to get Edge detection [20:20:32] ok madhuvishy its running in prod [20:20:37] yay [20:20:54] in parallel? :D [20:21:25] nono, just one server side processor [20:21:38] so, now we can turn off the zmq server side forwarder [20:21:46] cause nothing is using that now [20:21:48] oo [20:21:50] is that true? [20:21:51] hm [20:21:53] no, maybe hafnium [20:22:10] hafnium - does that do the reporting? [20:22:36] Ironholds: Hm.. I just found http://datavis.wmflabs.org/agents/ [20:22:56] ah, madhuvishy, no reporter is on evnetlog1001 [20:23:04] it reports on all tcp:/// streams [20:23:07] soooo, yes that is using that [20:23:12] we will have to chnage alerts before we turn that of [20:23:14] off [20:23:14] Krinkle, yep, that's a static run from ~6 months ago [20:23:19] ottomata: right [20:23:26] maybe we should do that now... [20:23:29] let's see [20:23:50] Ironholds: Ah, okay [20:24:09] ottomata: https://phabricator.wikimedia.org/T106254? [20:24:13] ja [20:24:14] there :) [20:24:22] i was wrong about where reporter was running [20:24:39] I'm hoping we can eventually provide some kind of visualisation with this data once a month. And the ability to group by several dimensions (e.g. family, family/major, device/os etc.) without needing to manually combine certain rows [20:28:32] Analytics-EventLogging: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1618171 (EBernhardson) Might as well throw it in gerrit [20:44:12] nuria: I updated https://wikitech.wikimedia.org/wiki/Analytics/Cluster/Spark [20:44:35] ottomata: working on the alerts? [20:44:41] yes [20:44:59] have to templatize the weird kafka broker jmxtrans names in puppet [20:45:07] $graphite_kafka_brokers_wildcard = inline_template('{<%= @kafka_brokers_array.join("_#{@kafka_jmx_port},").tr(".","_") + "_#{@kafka_jmx_port}" %>}') [20:45:08] :p [20:45:37] lol i wont even pretent to understand that [20:45:44] mforns: saw your comment on the patch, super cool idea :D [20:45:50] :] [20:46:31] mforns: it's the closest i'll come to using merge sort in real life [20:46:58] (the underlying logic) [20:47:19] hehehe [20:48:18] madhuvishy, the only concern is: does mysql duplicate key errors penalize performance? [20:48:33] like, is 1 error worth 10, 20, 200 inserts? [20:48:46] I don't know that [20:48:50] mforns: yeah that'd be what we've to talk about [20:49:27] since the events are all in kafka, we won't lose data if there's delay in the mysql insertion [20:49:46] aha, ok then [20:49:50] so may be we can afford it to be less performant? [20:50:11] mmm [20:50:26] so, maybe then, any of both solutions is ok [20:50:44] before, if there was an error in a batch, it looks like the whole batch would fail and when the consumer started up, it would consume from the end of the zmq stream? [20:50:52] that means it'd just lose data right? [20:50:58] madhuvishy, yes [20:51:25] now that we have it all in kafka, we can attempt to reinsert [20:51:42] but, I think mysql performance is important anyway, because the faster mysql is, the more throughput we'll be able to handle [20:51:59] Analytics-EventLogging: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1618280 (bd808) a:bd808 Gerrit repo created https://gerrit.wikimedia.org/r/#/admin/projects/avro-php and populated from https://github.com/bd808/avro-php [20:52:00] even if we do not loose data because kafka [20:52:17] but it'd be a big change, which is why we din't do it right away [20:52:19] hmmm [20:52:38] yeah, mforns, the mysql perf is important, but a short hit in performance is ok [20:52:56] it also depends on the frequency those duplicate key errors happen! [20:53:03] mforns: yes true [20:53:04] because it just means the consumer will delay for a bit while its splitting those batches and inserting [20:53:05] but yes [20:53:08] if key errors happen a lot [20:53:10] it'll slow things down [20:53:56] madhuvishy, do you know what is the condition that created the duplicate key errors? [20:54:02] *creates [20:54:20] mforns: yeah, if you insert an event with the same primary key(id?) again [20:54:27] mforns: we just saw it when we were testing reconsuming events [20:54:31] but, in practice [20:54:38] it could happen whenever a consumer is restarted [20:54:39] I mean in kafka [20:54:48] anything offsets that haven't been comitted to kafka yet will be reconsumed [20:54:50] any* [20:55:01] mmmmm [20:55:33] so it is possible that in a given batch there are lots of repeated events! [20:55:35] Dear milimetric, help [20:55:36] mforns: i think we have it set to commit every 10 seconds right now [20:55:41] milimetric: Looking for Dashiki access. [20:55:41] yes, especially on startup [20:55:43] ottomata: we could commit offsets more often if the key errors happen a lot and see if it improves [20:55:44] this changes things [20:56:16] mforns: hhe, yes you have gone from maybe once delivery to at least once delivery :p [20:56:46] ottomata, I'm lost, what happens every 10 sec? [20:57:13] mforns: every 10 seconds, pykafka will tell kafka the high water mark offset of the last message it has consumed [20:57:21] the 10 seconds are configurable. [20:57:33] but we shouln't commit every message [20:58:12] ottomata, so every 10 secs there's the posibility of having duplicate key insertion? [20:58:17] nono [20:58:20] mforns: noo [20:58:20] i mean, there is always the possibility [20:58:23] ok ok [20:58:28] but, it is more likely when eventlogging is restarted [20:58:37] say the consumer is killed ungracefully [20:58:37] I see [20:58:50] it consumed a message from kafka, and inserted into mysql [20:58:50] Analytics-EventLogging: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1618292 (bd808) Published on Packagist: https://packagist.org/packages/wikimedia/avro [20:58:59] but the 10 second offset commit interval wasn't reachced before it died [20:59:12] when it starts back up, it will continue from the most recently committed offset [20:59:22] I think I understand, so every 10 secs kafka knows the until when the consumer read, is that it? [20:59:27] yes [20:59:58] ok, so the number of duplicate events is at maximum what fitted in the last 10 secs of execution, no? [21:00:06] yes [21:00:11] ok, got it [21:00:13] likely no more t han that [21:00:18] we can commit more often too [21:00:22] Analytics, Engineering-Community, MediaWiki-API, Research consulting, and 3 others: Metrics about the use of the Wikimedia web APIs - https://phabricator.wikimedia.org/T102079#1618293 (DarTar) @SVentura if I understand where you are coming from with this request (after talking to Sheree), I suspec... [21:00:22] aha [21:00:23] every second isn't so bad [21:01:59] marktraceur: hey! access? [21:02:26] milimetric: Yeah, I want to add some graphz [21:02:46] madhuvishy: thanks for updating the doc! [21:02:49] I have 9 TSVs in the multimedia/ directory on datasets.wm.o [21:03:05] * milimetric looks [21:03:33] marktraceur: where are the TSVs? [21:03:39] http://datasets.wikimedia.org/public-datasets/all/multimedia/ [21:05:30] marktraceur: aha, ok, so dashiki gives you two pre-built layouts and tools to make more layouts if you want [21:06:08] milimetric: OK. How do I use them? [21:06:10] it looks like you have some metrics measured across wikis [21:06:26] so take a look at this layout and see if it would make sense for your data: https://vital-signs.wmflabs.org/#empty [21:06:28] milimetric: Yes and no, I have per-wiki metrics [21:06:28] sorry [21:06:31] https://vital-signs.wmflabs.org/ [21:07:11] milimetric: Yeah, that sort of thing should be perfect [21:07:33] ok, there's a simpler example I can start you with then: [21:07:40] I have different files for each wiki's data, but I could consolidate maybe [21:07:41] https://language-reportcard.wmflabs.org [21:08:00] I mean, they both seem fine? [21:08:12] Is there documentation for how to actually make a dashboard? [21:08:17] they're the same layout, but the second one is simpler to explain because it just uses one data convention [21:08:33] the raw data for that dashboard is here: http://datasets.wikimedia.org/limn-public-data/metrics/beta-feature-enables/ [21:08:46] so what you need to define is a "metric" [21:08:55] in this case it's "beta-feature-enable" [21:09:01] madhuvishy: https://gerrit.wikimedia.org/r/#/c/236947/ [21:09:09] and in that metric, you can put submetrics, in this case the subfolders there [21:09:15] ottomata, madhuvishy, I think neither of the 2 solutions is good for this case, because there may be lots of repeated events across all schema queues [21:09:15] I have three: "upload", "uploader", and "first-upload" [21:09:21] and in those subfolders, there is one file per wiki [21:09:40] OK, shouldn't be too hard to sort that out [21:09:47] ok, then you need configs [21:09:52] one sec, I'll point you to those [21:09:57] mforns: oh right, and 'events' are grouped by schema when they come into those functions? [21:10:23] marktraceur: this is the config of that dashboard: https://meta.wikimedia.org/wiki/Config:LanguageReportcard [21:10:24] madhuvishy, ottomata, so I think the easiest is reducing the offset interval and just dropping those queues that contain repeated events [21:10:40] ottomata, yes, they would be grouped by schema, [21:11:05] mforns: or just iterating calling insert_single, no? [21:11:06] marktraceur: this is where you'd need to register your metric metadata, notice the definition of "Content Translation" for example: https://meta.wikimedia.org/wiki/Dashiki:CategorizedMetrics [21:11:14] milimetric: OK, so I create Config:MultimediaHealth [21:11:17] _insert_sequential [21:11:18] i mean [21:11:37] Analytics, Engineering-Community, MediaWiki-API, Research consulting, and 3 others: Metrics about the use of the Wikimedia web APIs - https://phabricator.wikimedia.org/T102079#1618346 (SVentura) @DarTar, that is interesting....trying to wrap my head around this and making sense of this info to inf... [21:11:59] ottomata, yes, that is an option, but you may have up to 400 duplicate key errors in a row, times lots of schemas... [21:12:06] Analytics-EventLogging, Librarization, Patch-For-Review: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1618349 (bd808) [21:12:08] I don't know, maybe this is OK [21:12:08] marktraceur: exactly, and then add the metric information to that CategorizedMetrics page, it will be essentially the same as the last revisions from Marcel [21:12:44] ottomata: at 1-1 with Kevin [21:12:57] once all that's up, you can check out dashiki and run this locally: "gulp --layout metrics-by-project --config MultimediaHealth" [21:13:13] madhuvishy: no worries, i think i won't merge today [21:13:21] gonna pause this here and continue tomorrow [21:13:34] ottomata: cool [21:13:36] milimetric: And is there documentation that says all of this stuff, somewhere? [21:13:39] marktraceur: and then if you run "python -m SimpleHTTPServer 5001" you can browse to localhost:5001/dist/metrics-by-project-MultimediaHealth [21:13:46] marktraceur: https://github.com/wikimedia/analytics-dashiki/ [21:13:50] Perfect. [21:13:50] ottomata, probably you're right! if the offset interval is small enough, I think mysql can handle this individual inserts for a while :] [21:13:57] aye :) [21:13:58] marktraceur: it's just rough right now [21:14:12] not detailed, we haven't had anyone use it yet, we've just set up their dashboards for them [21:14:13] btw mforns, with madhu's balanced consumer stuff, its possible to parallelize the mysql consumer too [21:14:17] as long as mysql could handle it :) [21:14:18] which I'm happy to do, marktraceur, if you get into trouble [21:14:31] milimetric: Noted, but I should be okay with the examples [21:14:47] Assuming I can fix my generator script...vim seems to be dying on stat1003 [21:14:52] the only thing I'd ask you to do is to set up the data in the structure it expects, with the per-wiki breakdowns [21:14:55] Analytics-EventLogging, Analytics-Kanban, Patch-For-Review, WMF-deploy-2015-09-08_(1.26wmf22): eventlogging tests in mainline error - https://phabricator.wikimedia.org/T111438#1618360 (kevinator) [21:15:01] ottomata, aha cool! [21:15:18] marktraceur: how are you generating data? [21:16:01] A few different sql scripts run for each wiki [21:16:14] mforns: also, you'll be happy to know, the kafka based metrics look a lot smoother than the eventlogging reporter ones. [21:16:26] Right now just nine queries, not too big either really [21:16:39] ottomata, \o/ [21:17:06] marktraceur: you might like the way that dashboard generates data, it explodes per-wiki and everything: https://github.com/wikimedia/analytics-limn-language-data/blob/master/language/config.yaml [21:17:15] that runs the scripts in that same folder [21:17:37] mforns: http://grafana.wikimedia.org/#/dashboard/db/eventlogging?panelId=8&fullscreen&from=now-24h&to=now-5m&var-kafka_brokers=All [21:18:04] marktraceur: the nice thing about those scripts is it timeboxes and only generates the days that haven't been generated since the last run [21:18:27] and explodes by wiki, or other parameters you put in the templates [21:19:18] Analytics-EventLogging, Librarization, Patch-For-Review: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1618364 (bd808) [21:19:50] milimetric: Question, which of the files in the Content Translation directories matters - the .tsv or the extensionless TSV? [21:20:00] Looks like one has a lot more data [21:20:32] * milimetric looks [21:20:45] (some of those files may be leftover from the old rsyncs) [21:21:45] marktraceur: it's the <>.tsv files that are being picked up by the dashboard [21:21:59] the others are old remnants due to rsync not having the --delete flag [21:22:14] OK.\ [21:22:25] so the structure is limn-public-data/metrics/<>/<>/<>.tsv [21:22:40] Right. [21:22:45] where metric and submetric are fetched from the CategorizedMetrics config I linked [21:23:02] and wiki is any available wiki database name [21:23:15] (enwiki, enwiktionary, commonswiki, etc.) [21:24:07] ottomata, do you have such a chart with the sums instead of the rates? [21:24:07] marktraceur: here's another example from a different dashboard: http://datasets.wikimedia.org/limn-public-data/metrics/sessions/wikitext/ [21:24:34] mforns: instead of the diffs? [21:24:44] http://grafana.wikimedia.org/#/dashboard/db/eventlogging [21:25:11] ottomata, ... wait a second, processing :] [21:25:54] ottomata: do you know anyone setting X-Analytics headers on the request? [21:26:10] madhuvishy: i see something weird with mysql insertAttempted rate since i made the server-side raw processor consume from kafka, hm. [21:26:17] ottomata, eventlogging.overall.raw.sum - eventlogging.overall.valid.sum [21:26:19] milimetric: not off the top of my head [21:26:23] oh [21:26:23] thx [21:26:31] mforns: you can edit the graphs ( just don't save) [21:26:38] ok [21:27:08] mforns: i think the kafka one is [21:27:11] Count [21:27:15] instead of OneMinuteRate [21:27:46] Krinkle: in the office? [21:27:53] ottomata, because both metrics seem different no? [21:27:59] Nope, UK [21:28:26] mforns: alias(movingAverage(absolute(diffSeries(sumSeries(kafka.$kafka_brokers.kafka.server.BrokerTopicMetrics.MessagesInPerSec.{eventlogging-client-side,eventlogging-server-side}.Count),sumSeries(kafka.${kafka_brokers}.kafka.server.BrokerTopicMetrics.MessagesInPerSec.eventlogging_*.Count))),10), "Kafka Raw - Valid Count") [21:28:42] mforns: eh? [21:29:20] ottomata, I see, it is a moving average [21:29:35] yes [21:29:40] which i suppose would smooth it out :) [21:30:04] madhuvishy: i don't see anything wrong with mysql consumer...not sure why there are more insertAttempted now [21:30:38] Analytics, Engineering-Community, MediaWiki-API, Research consulting, and 3 others: Metrics about the use of the Wikimedia web APIs - https://phabricator.wikimedia.org/T102079#1618385 (SVentura) Follow up questions to this group: Where should I look to find the content syndication/reuse numbers... [21:30:59] hm, actually, it is the same [21:31:24] oh hmmm [21:31:25] hm. [21:31:31] because mysql is consuming from zmq [21:31:31] hm [21:32:16] AH [21:32:24] i think because reporter doesn't work for server side raw anymore [21:32:27] with the double outputs [21:32:27] hm. [21:33:11] yeah [21:33:18] ok, i think everything is ok [21:35:48] milimetric: I have a feeling it's supposed to look a bit better than it does right now [21:36:22] marktraceur: should I build with --config MultimediaHealth and take a look? [21:36:36] If you'd like, sure [21:37:04] Also fyi your readme says http://localhost:5000/compare-MultimediaHealth when it needs to be /dist/compare-MultimediaHealth [21:37:18] oops, thx [21:38:08] marktraceur: looks to me like it's working nicely [21:38:12] but the data's just not there: http://datasets.wikimedia.org/limn-public-data/metrics/multimedia-health/uploads/enwiki.tsv [21:38:16] Hrm [21:38:24] Might be waiting for rsync to catch up [21:38:26] yes [21:38:31] nicely done on the config definitions though [21:38:46] Copy and paste is one of my best developed skills [21:38:52] marktraceur: so once the data's there I'd expect this to just work, when that happens you can host that dist directory out of any apache [21:39:00] Hoorah. [21:39:16] I've been hosting these things on limn1, but am currently working on a nice puppetized version of that for dashiki1 [21:39:23] if you want it on limn1, I'm happy to add it [21:39:30] I look forward to finding creative and opsen-cringe-inducing places to host our critical metrics infrastructure [21:39:37] Or that. [21:39:52] marktraceur: and one other thing, if you want basic analytics on the dashboard itself, there's a --piwik flag that we added recently, you can give it a piwik instance [21:40:13] Not sure what that means, tbh. [21:40:24] piwik is like open source google analytics [21:40:29] and we have a basic instance running in labs [21:40:46] The idea being you track how many views you get on the dashboard? [21:40:59] And where from, and at what time, etc. [21:41:03] so you can build with "--piwik 'piwik.wmflabs.org,5'" if your piwik site id is 5, and the dashboard will report stats to that piwik instance in labs [21:41:09] yep [21:41:24] I cannot think of why I would need to know how much traffic my dashboard gets [21:41:29] But thanks for letting me know :) [21:41:29] k :) [21:42:29] (PS1) Milimetric: Fix README mistake [analytics/dashiki] - https://gerrit.wikimedia.org/r/236967 [21:42:39] (CR) Milimetric: [C: 2 V: 2] Fix README mistake [analytics/dashiki] - https://gerrit.wikimedia.org/r/236967 (owner: Milimetric) [21:43:09] marktraceur: i think that thing rsyncs every hour, so let me know if you still have troubles after that [21:43:17] On the hour? OK. [21:44:05] Also I'm pretty sure the volume that I get on these queries is the kind that would make you scoff at me for trying to consider performance/load, so I'm probably just going to make them run the full queries every month via cronjob. [21:44:34] I'm not sure it's on the hour, but it might be [21:44:42] Encouraging [21:44:52] :) sorry, i don't understand computers [21:44:59] I'm with you there buddy [21:45:12] understood on the sql perf. Let's revisit if it brings the server down [21:49:34] running home, back sh ortly for a bit [21:51:35] PROBLEM - Check status of defined EventLogging jobs on eventlog1001 is CRITICAL: CRITICAL: Stopped EventLogging jobs: forwarder/server-side-raw-zmq [21:52:00] oops [21:54:17] mforns: ottomata said that alert was ok [21:54:28] oh ok! [21:54:33] he just texted me [21:54:40] ok ok [21:54:42] cool :] [22:17:49] back [22:19:25] Analytics-Kanban, RESTBase, Patch-For-Review: Create a metric for overall RESTBase request rates from Varnish logs {hawk} [13 pts] - https://phabricator.wikimedia.org/T109547#1618468 (kevinator) Open>Resolved [22:19:45] Analytics-Kanban, RESTBase, Patch-For-Review: Create a metric for overall RESTBase request rates from Varnish logs {hawk} [13 pts] - https://phabricator.wikimedia.org/T109547#1551633 (kevinator) [22:19:47] Analytics-Kanban, RESTBase, Patch-For-Review: Productionize the Spark job that sends RESTBase stats to Graphite {hawk} - https://phabricator.wikimedia.org/T110691#1618470 (kevinator) Open>Resolved [22:25:30] Analytics-Kanban: Archive obsolete schema pages {tick} [5 pts] - https://phabricator.wikimedia.org/T110247#1618490 (kevinator) [22:25:39] Analytics-Kanban: Archive obsolete schema pages {tick} [5 pts] - https://phabricator.wikimedia.org/T110247#1618491 (kevinator) Open>Resolved [22:25:40] Analytics-Kanban: Delete obsolete schemas {tick} - https://phabricator.wikimedia.org/T108857#1618492 (kevinator) [22:26:02] Analytics-EventLogging, Analytics-Kanban, Patch-For-Review: Fix auto_offset_reset bug in pykafka and build new .deb package {stag} [8 pts] - https://phabricator.wikimedia.org/T111182#1618493 (kevinator) Open>Resolved [22:26:03] Analytics-EventLogging, Analytics-Kanban, Patch-For-Review: Prep work for Eventlogging on Kafka {stag} - https://phabricator.wikimedia.org/T102831#1618495 (kevinator) [22:26:50] ottomata: need some help? [22:27:21] madhuvishy: sure, i think things are ok, i was about to restart the forwarder in prod [22:27:33] ottomata: ah cool [22:27:37] was just testing on labs. something was weird for a second, but think that the kafka labs instance's disk filled up [22:27:42] and that was what was weird [22:27:47] madhuvishy: Did you want to ask me something? [22:27:50] so madhuvishy [22:27:51] Analytics, Engineering-Community, MediaWiki-API, Research consulting, and 3 others: Metrics about the use of the Wikimedia web APIs - https://phabricator.wikimedia.org/T102079#1618500 (Krenair) Should probably add rcstream to the list. I don't think there are any numbers on use of IRC feeds. DBPed... [22:28:00] instead of running forwarder with 2 outputs [22:28:02] i'm going to run 2 instances [22:28:08] and have the zmq one consume from kafka [22:28:17] that way reporter will still work for now [22:28:22] until we are ready to turn all the zmq off [22:28:32] ottomata: okay [22:29:47] Krinkle: yeah, wanted to ask about deploying a cookie on javascript in mediawiki [22:30:22] Analytics, Engineering-Community, MediaWiki-API, Research consulting, and 3 others: Metrics about the use of the Wikimedia web APIs - https://phabricator.wikimedia.org/T102079#1618519 (SVentura) Thanks @Krenair ! [22:30:55] Krinkle: we are setting this WMF-Last-Access cookie in varnish now, as a counting uniques mechanism, and have a bunch of drawbacks with this method - because we can't estimate bot traffic. nuria had this idea that we could instead set the cookie on JS [22:31:38] madhuvishy: what kind of bots [22:32:11] UNGGH madhuvishy deployment-eventlogging02 is precise [22:32:14] can't install python-pykafka [22:32:15] uNngh [22:32:30] ottomata: aah [22:32:52] :/ [22:32:57] gonna upgrade it to trusty [22:33:00] well, make a new one [22:33:14] Krinkle: hmmm, the ones we don't already catch as spider/or filter with UA regexes [22:33:35] madhuvishy: I mean, software-wise, what kind of bots are these. [22:33:38] screen scrapers? [22:33:43] basically, anything that sends multiple requests to our site, but doesn't set a cookie [22:34:03] are you worried about bots that do process cookies or those that don't? [22:34:09] Krinkle: I don't really know what kind of bots they are. [22:34:15] those that don't [22:34:24] Right, as they'd be new visitors each time. [22:34:27] yes [22:34:38] so every request gets counted as a unique [22:34:52] which bloats our numbers way too much [22:34:55] madhuvishy: So, you currently count uniques as any request not having that cookie. [22:35:12] Krinkle: it's a little more complicated than that. [22:35:25] Analytics-EventLogging, Analytics-Kanban: Load test parallel eventlogging-processor {stag} [5 pts] - https://phabricator.wikimedia.org/T104229#1618545 (kevinator) Open>Resolved [22:35:25] Analytics-EventLogging, Analytics-Kanban: {stag} EventLogging on Kafka - https://phabricator.wikimedia.org/T102225#1618546 (kevinator) [22:35:29] beware that at least google does run javascript. [22:35:32] It sets a date, and if you send a request with no cookie, or date before today [22:35:53] In fact they called us out very quickly when we accidentally disabled access to javascript files in robots.txt [22:35:56] you are unique for today. we'd send back a response with the current date [22:36:07] and not count them the rest of the day [22:36:13] (same for month) [22:36:45] Krinkle: yeah, but cases like google would have well defined UAs and we can catch them? [22:37:40] so we are wondering if moving the cookie to be set in JS would make sense [22:37:47] and how to go about it [22:39:02] also, even if they crawled js, would they be executing it and setting cookies? [22:39:44] Analytics-Kanban, Research-and-Data, Patch-For-Review: Backfill pageview data correcting space in title bug {hawk} [5 pts] - https://phabricator.wikimedia.org/T110614#1618565 (kevinator) Open>Resolved note: records are versioned 0.0.7 now (https://wikitech.wikimedia.org/wiki/Analytics/Data/Webrequ... [22:39:57] ottomata: hmmm, surprised we din't catch this before [22:40:29] madhuvishy: which? [22:40:43] oh we haven't tried to use the newer python-pykafka stuff, it is installed there [22:40:44] not sure how [22:40:44] that pykafka wont work in this [22:40:50] maybe pipi? [22:40:51] pip? [22:41:32] it would have been installed when I ran setup.py [22:41:38] ah, hm. [22:41:39] bye a-team, see you tomorrow! [22:41:53] hey [22:42:01] ori: hi :) [22:42:02] ahh, madhuvishy i guess it just doesn't have the buffix [22:42:03] madhuvishy: what's up? [22:42:03] that's why [22:42:06] that's not in pip [22:42:09] just our package [22:42:29] madhuvishy: I'm deferring to ori :) [22:43:06] ori, was just asking Krinkle about setting a cookie on javascript, rather that in varnish, to filter for bot requests [22:43:23] Krinkle: thanks [22:43:28] Analytics-Kanban, Patch-For-Review: Beta Cluster Event Logging mysql consumer not working {oryx} [5 pts] - https://phabricator.wikimedia.org/T110462#1618572 (kevinator) Open>Resolved [22:43:30] what's the question? [22:43:35] ori: if you are in the office, I can come explain [22:44:08] question is mostly if setting a cookie in js is a good idea, and how to go about it [22:44:15] https://wikitech.wikimedia.org/wiki/Analytics/Unique_clients/Last_access_solution [22:44:41] actually, https://wikitech.wikimedia.org/wiki/Analytics/Unique_clients/Last_access_solution#How_will_we_be_counting:_Plain_English [22:44:46] is the current way [22:44:55] sure, I'll come by [22:44:58] give me a minute [22:45:09] i'm on 5th, coming down [22:45:13] ah ok [22:49:02] hey nuria, yt? [22:50:31] Analytics-Kanban, Research-and-Data: Legal request, data point 1 [13 pts] - https://phabricator.wikimedia.org/T109626#1618586 (kevinator) Open>Resolved [22:54:52] Analytics-Kanban, Patch-For-Review: Check and potentially timebox limn-language-data reports {frog} [8 pts] - https://phabricator.wikimedia.org/T107504#1618592 (kevinator) Open>Resolved [22:55:49] Analytics-EventLogging, Analytics-Kanban, Patch-For-Review, WMF-deploy-2015-09-08_(1.26wmf22): eventlogging tests in mainline error - https://phabricator.wikimedia.org/T111438#1618596 (kevinator) Open>Resolved [22:59:08] Analytics-Kanban, Patch-For-Review, WMF-deploy-2015-09-08_(1.26wmf22): Use formatversion=2 API to fetch EventLogging schemas - https://phabricator.wikimedia.org/T110450#1618607 (kevinator) Open>Resolved [23:24:56] RECOVERY - Check status of defined EventLogging jobs on eventlog1001 is OK: OK: All defined EventLogging jobs are runnning. [23:28:47] doh madhuvishy, ha, i am all wrong about this. [23:28:50] what I just did is fine [23:28:52] but doesn't fix anything. [23:29:00] reporters monitors just in processors/ i should have read the code closer [23:29:02] ottomata: [23:29:05] aah [23:32:27] madhuvishy: hm. welp. [23:32:29] i could fix this by: [23:32:35] making reporter smarter [23:32:40] ottomata: i can hang out in batcave if you want [23:32:41] or running 2 server side processors [23:32:43] ok [23:32:45] real quick [23:33:14] ok i'm there [23:35:45] Analytics-EventLogging, Patch-For-Review: Kafka Client for MediaWiki - https://phabricator.wikimedia.org/T106256#1618715 (bd808) [23:35:46] Analytics-EventLogging, Librarization, Patch-For-Review: Package the Avro PHP library for easier Composer usage - https://phabricator.wikimedia.org/T111851#1618713 (bd808) Open>Resolved [23:59:19] Analytics-Kanban: Set up auto-purging after 90 days {tick} - https://phabricator.wikimedia.org/T108850#1618811 (mforns) a:mforns>jcrespo