[00:00:29] sumanah: https://www.mediawiki.org/wiki/Manual:How_to_debug#Advanced_profiling talks about how to annotate code with wfProfileIn() / wfProfileOut() calls, which tells MediaWiki to trace code execution through a particular code path [00:01:15] sumanah: profiling data for code deployed to wikimedia's production cluster is aggregated and plotted automatically in graphite [00:02:25] graphite consists of (a) a network daemon that receives timestamped measurements, computes various summary statistics, and stores them [00:02:33] * sumanah listens [00:02:46] and (b) a web interface for producing graphs of this data [00:03:46] (it sounds like we have 2 web interfaces: graphite.wikimedia.org for full coverage and gdash for a limited subset. I presume graphite.wm.o is the built-in graphite web interface and gdash is a nicer one) [00:03:49] we have it set up at https://graphite.wikimedia.org/ , but only staff members have access to it at the moment because some of the data is potentially sensitive [00:04:12] (and gdash is curated nicely) [00:05:25] yeah, graphite-web (which is the name of the web app that ships with graphite and which we serve at graphite.wikimedia.org) is a tool for exploratory data analysis. it provides a hierarchical, tree-like interface that lets you browse all available metrics, not just the ones that have been cherry-picked for you [00:05:36] whereas gdash is [00:05:56] sorry, whereas gdash is curated, as you said [00:06:49] wfProfile* data is aggregated under 'MediaWiki' in graphite-web [00:08:34] AHA [00:08:58] I was like "WHERE IS IT" and gave up in the forest of trees [00:09:56] wfProfileIn / wfProfileOut can enclose any block of code and capture its trace under any arbitrary name [00:10:01] e.g., this is valid: [00:10:14] wfProfileIn('print-hello'); [00:10:18] echo "hello world\n"; [00:10:23] wfProfileOut('print-hello'); [00:10:43] but most commonly wfProfile* is used to enclose methods [00:10:55] how do we avoid name collisions? [00:11:17] we use function/method names [00:11:21] so you'll see it often invoked like this: wfProfileIn( __METHOD__ ), where '__METHOD__' is a PHP magic constant that evaluates to the current class/method name [00:11:57] oh [00:12:14] Graphite will parse '::' in the name as path components in the metric name [00:12:55] so we don't need to avoid collisions globally across all of MediaWiki, because of the separation by :: [00:13:56] well, it's a good question (how do we avoid name collisions) and the answer is somewhat more complicated [00:14:22] using __METHOD__ avoids collisions because class names are unique [00:14:44] oh yes, they'd have to be, wouldn't they [00:14:58] * sumanah considers [00:14:58] but we also do use it to enclose blocks of code that don't correspond to a discrete class / method, and in those cases there is no very clear namespacing policy that ensures there are no collisions [00:15:34] does graphite grab data from the file we name in $wgDebugLogFile ? [00:16:06] I should reread http://www.aosabook.org/en/graphite.html [00:16:47] oh, nice -- i didn't realize there was a graphite chapter in that book [00:16:58] it's ok, you don't have to go into how graphite actually gets the data, it's not crucial to me writing these guidelines [00:17:04] i read the mediawiki chapter (i believe you cowrote it?) when i started mediawiki development and it was really helpful [00:17:16] :D :D :D [00:17:27] yes, I did a bunch of the interviews and Guillaume did most of the synthesis [00:17:45] ori: don't forget new ProfileSection( __METHOD__ ) [00:17:49] I'm so glad it helped you. I feel like I have further earned my salary, just knowing that :) [00:18:11] sumanah: yeah, i was about to say -- the way the data ends up in graphite is rube-goldberg-ish and ultimately not very interesting. i can go into that if you like but it's not something that informs how one profiles code [00:18:22] nod [00:18:24] for another time! [00:18:45] i do want to quickly pull up an example [00:18:52] so you can compare the profile calls and where they end up in graphite [00:19:25] AaronSchulz: should ProfileSection go into https://www.mediawiki.org/wiki/Manual:How_to_debug ? [00:19:47] because right now it is not in there [00:21:02] also, AaronSchulz & ori, https://www.mediawiki.org/wiki/Requests_for_comment/Better_PHP_profiling "This RFC exists so we can investigate alternative profiling implementations to the one we have now." in case you wanna comment on it [00:21:23] it should [00:21:27] re: ProfileSection [00:21:33] quick example: https://github.com/wikimedia/mediawiki-extensions-CentralAuth/blob/master/CentralAuthUser.php#L167 [00:21:58] the class name is CentralAuthUser, the method name is loadState [00:22:07] so it's in Graphite under MediaWiki -> CentralAuthUser -> loadState [00:23:27] * sumanah nods [00:23:39] and I see something weird happened around 9 April [00:23:48] uhoh [00:24:15] yes [00:24:45] I feel like Rube Goldberg would've enjoyed Unix commands. [00:25:28] for multiple hours even! [00:26:37] ori: is it just me or does "update in graphplot" give a blank graphplot page? (nothing graphed, but all the toolbuttons there?) [00:27:02] graphlot, sorry [00:27:20] i haven't used the graphplot functionality at all yet [00:28:02] sumanah: i see 'Uncaught Error: Time mode requires the flot.time plugin. ' in my browser console [00:28:12] nod [00:28:17] well, not urgent right now [00:30:24] oh the new version of Graphite's web interface includes an option to "Add button to send email of rendered graph as attachment" [00:30:38] Anyone available to assist me with a small issue with install mediawiki 1.22.6? [00:30:40] well, at least in the dashboard [00:36:11] Can someone help me with the installation? [00:42:28] Anyone lend a hand with installation? [00:45:22] Green_: maybe try mediawiki-l [00:45:26] !lists | Green_ [00:45:26] Green_: mediawiki-l and wikitech-l are the primary mailing lists for MediaWiki-related issues. See https://www.mediawiki.org/wiki/Mailing_lists for details. [00:46:18] I have been looking but its not easy trying to find what i am looking for [00:46:57] basically, the latest version installs quite a bit differently from the time i used mediawiki [00:47:14] just ask here [00:48:01] I have followed the instructions fully but once I attempted to run the installation script, firefox brings up a dialog box asking to download index.php [00:48:38] I have mw installed in /var/www/w/ [00:49:02] but I get a 404 when I go to localhost/w/ [00:49:18] postgre/apache/php are all configured [01:03:34] Green_: if it prompts you to download index.php, that's an issue with how you've configured apache, I think. [01:03:37] not a mediawiki issue. [01:10:59] Still getting a not found page [01:13:24] !404 [01:13:24] There is no such key, you probably want to try: !autothumb, !iis404, [01:16:33] Green_: sorry, it sounds like the folks currently in channel may not know the answer, so you might want to ask your question via the mailing list [01:16:35] heh, I like how wm-bot uses piping to specify who to direct a message to. [01:17:17] yeah :) [01:23:16] Thanks anyway. Later! [01:47:25] Hay guyse [01:53:34] Hi Thisismyrofl [01:54:33] Would it be a detrimental change to Mediawiki to allow unpromoted users to view the UserRights page (but not to edit any rights of course)? Just a dozen uncheckable boxes [01:57:10] I suppose it depends on your threat model, Thisismyrofl [01:57:30] http://en.wikipedia.org/wiki/Threat_model [01:57:42] sorry, I gotta head off, but best wishes [01:58:37] Thisismyrofl: Probably fine. There's an ongoing debate about how to treat forms like that. [01:59:53] Some time ago I reported a tiny source of confusion: https://bugzilla.wikimedia.org/show_bug.cgi?id=48609 [02:00:18] It was fixed by the addition of an error message, but then I thought about it and realized that a change as I proposed above would nullify the problem [02:05:22] Should Special:MovePage show a form if the user doesn't have permission? [02:05:29] What about Special:Undelete? [02:05:38] Or ?action=protect or ?action=delete. [02:08:22] Userrights is kind of different, in that there are numerous rights you can give users - and since not all users have ability to promote every right, the page will still show for some users, with such rights blanked out [02:08:52] Move is black and white, you can or cannot. Userrights is not so much. [06:14:57] how do you apply separate commits without having them become dependent on each other [06:19:24] Withoutaname: in Git? in Gerrit? in MediaWiki content pages? [06:19:38] in git, sorry for not being clear [06:19:40] and what does "apply" mean in this context? [06:19:47] #wikimedia-dev might be better then [06:19:57] k [06:20:53] Withoutaname: and if you apply commits (patches) in a local Git repository they don't automatically become dependent. But not sure if I understand your question. [06:21:46] andre__: git will ask if I want to squash my commits or have them depend on each other [06:22:00] Withoutaname, after which command? [06:22:02] steps missing. [06:22:08] git review [06:22:17] if it's in the same branch [06:22:23] Withoutaname, http://wikimedia.7.x6.nabble.com/git-review-wanting-to-submit-lot-of-changes-td4879828.html [06:22:50] I see, thanks [06:23:14] I love to run into that problem too, but I didnt understand it right away that your question is about this problem :D [08:40:50] hi, someone who can help me to import wiki templates ... i get 'Fatal exception of type ScribuntoException' [08:43:10] !debug [08:43:10] For information on debugging (including viewing errors), see http://www.mediawiki.org/wiki/Manual:How_to_debug . A list of related configuration variables is at https://www.mediawiki.org/wiki/Manual:Configuration_settings#Debug.2Flogging [09:00:52] Hi guys, just a quick question: If I open eg. https://en.wikipedia.org/w/index.php?title=Heleen_Mees&action=history, some of the revisions have a light blue background. Why is that? [09:02:29] FlaggedRevs it seems [09:02:38] ok, thanks [09:04:46] (that'd be pending changes in enwiki vernacular http://enwp.org/WP:PC ) [09:52:21] hi, is it possible to disallow anonymous feed view? [09:52:49] And another feed question: Is there a proper rss feed? [09:52:56] ...of recent changes? [11:47:32] How to get stats for a given wikipedia at a given date? [11:47:32] Can we add a date component to /w/api.php?action=query&meta=siteinfo&format=json&siprop=statistics&sifilteriw=local [11:47:34] ? [11:49:44] tuxnani: that would mean actually recording the stats over time. That's currently not done, and would need a bit of tooling, I suppose. [11:50:47] DanielK_WMDE__: Thank you. I wanted to replicate stats.wikimedia.org/EN/TablesWikipediaTE.htm for given month [11:54:23] tuxnani: ask the analytics team. they have a ton of data, but currently no public interfaces to it, afaik. Dario Taraborelli and Erik Zachte are probably good people to talk to. [11:59:52] DanielK_WMDE__: Would looking at dumps help? [12:00:34] tuxnani: sure, you can analyze the dumps yourself, if you want [15:12:23] Hello [15:28:05] Hi everybody, I wanted to know if it's possible to use mediawiki as an internal wiki, with a login to see pages [15:28:29] Yes thats what I am building currently [15:29:04] so it is already available? [15:29:27] Its just you have to configure user permissions [15:29:52] and it's native in last mediawiki version or is it a plugin? [15:30:18] Set $wgGroupPermissions [*] ['read'} = false [15:30:56] its native in most versions since 1.5 i believe [15:31:03] it's ok in the 1.22.6 version? [15:31:13] thats what i am currently building [15:33:01] sorry, i'm not a good english speaker, do you mean it's available only in dev version? and not implemented in the current version (1.22.6) ? [15:33:37] Yes it available in version 1.22.6 - 1.5 [15:34:17] OK i understand you are building it for you, you are not developping it... When I said I wasn't a good english speaker... :D [15:34:30] :) [15:34:31] yes [15:34:44] thanks a lot deveseattle [21:51:13] 10 minutes till we discuss Ryan's and Tyler's RfCs in #wikimedia-office https://www.mediawiki.org/wiki/Architecture_meetings/RFC_review_2014-04-29 [22:04:20] We're now discussing Ryan's and Tyler's RfCs in #wikimedia-office https://www.mediawiki.org/wiki/Architecture_meetings/RFC_review_2014-04-29 [22:37:09] hoo [23:03:31] so, I feel like we had some useful discussion in that IRC chat just now in #wikimedia-office (RfC review) but argh, I gotta try harder to get the voices of non-WMF people in conversations like that. [23:04:04] * sumanah invited them but evidently did not impress upon them how much better it would be if they were there [23:04:45] especially for extension management that’s gonnahave some impact :D [23:04:49] YEAH [23:04:51] nice to hvae more voices [23:06:23] does that include end users of MW, or just developers of MW? [23:06:53] wmat: I think in this particular case, hearing from developers of MW extensions and sysadmins of MW installations would have been more useful [23:07:13] wmat: the changes we're talking about would cause no changes to the end user experience in any way [23:07:21] I certainly fall in the latter category [23:08:09] sorry, by end user I think I meant administrator [23:08:11] I should have been clearer when I announced stuff here in #mediawiki, about what we were going to be talking about in #wikimedia-office - sometimes I do that and this time I did not [23:08:13] Surely there are mailing lists for people who need to know about changes to sysadmin structures? [23:08:22] wmat: are you on wikitech-l ? [23:08:30] sumanah: yes [23:08:32] wikitech-announce maybe? [23:08:38] this particular one I should have also broadcast to mediawiki-l and mediawiki-enterprise [23:09:14] not too late, given that we did not make any decisions [23:09:21] * sumanah works on summary/wiki page/etc [23:09:28] https://www.mediawiki.org/wiki/Architecture_meetings/RFC_review_2014-04-29 [23:09:32] I should probably be on mediawiki-enterprise [23:11:36] oh check this out! http://subfictional.com/2014/04/29/community-building-education-update-29-april-2014/ the people working on the Mozilla wiki: "We talked about planning an in-person meet-up and sprint at this year�s Wikimania in London." YES [23:12:01] * sumanah is perhaps more excited than necessary [23:17:33] sumanah: oh great, i think i’m on their mailing list but haven’t had a chance to sit in on any of their planning yet [23:17:49] that’ll be a convenient meet-up :D [23:18:05] rock! [23:18:16] wmat: check out https://www.mediawiki.org/wiki/Architecture_meetings/RFC_review_2014-04-29#Summary_and_logs [23:18:40] this channel is so quiet without the bug bot ;) [23:19:53] * marktraceur starts banging on pots and pans [23:21:26] Oh, great, flashbacks to the Montreal student strike. [23:22:19] Amgine: That's one of many things this channel was missing [23:22:27] And now we have space for all of them! [23:22:39] The channel spam is dead, long live the channel spam [23:22:48] \o/. Actually, I do appreciate being bugspamless. [23:23:43] Amgine: I got to spend a whole week in Montreal during PyCon - lovely time [23:24:12] I always thought of this as the Mediawiki support channel... which reminds me, what is the current best-practice for wikifarmage? [23:24:35] !wikifarm [23:24:35] To run multiple wikis, you can simply install MediaWiki in different folders, with different databases or in one with database prefixes. You can also have multiple wikis using a single installation: If you run a farm or want to, join the mailing list: [23:35:58] brion: I have to admit, I prefer it without the bugbot [23:37:06] sumanah: thx for the minutes [23:37:34] wmat: you're welcome! [23:38:07] wmat: https://www.mediawiki.org/wiki/Requests_for_comment/Extension_management_with_Composer - I am sure the proposal author would welcome your thoughts on the talkpage [23:38:24] i LOVE tracking extensions using Git currently [23:39:07] but I admit, I haven't given Composer a shot as I like the way I do it now