mirror of
https://github.com/facebook/sapling.git
synced 2024-10-16 19:57:18 +03:00
056dad1e1b
Summary: Let's log reponame as well so that we can tell requests to different repos apart. I named config value `common.reponame` so that we can start using it in different extensions that also need reponame (for example, hgsql and infinitepush) Reviewed By: farnz Differential Revision: D10127734 fbshipit-source-id: 031c7393dfce43bf47474ac0878c1e68ddabec50
106 lines
6.4 KiB
Perl
106 lines
6.4 KiB
Perl
$ CACHEDIR=`pwd`/hgcache
|
|
$ cat >> $TESTTMP/uilog.py <<EOF
|
|
> from mercurial import extensions
|
|
> from mercurial import ui as uimod
|
|
> def uisetup(ui):
|
|
> extensions.wrapfunction(uimod.ui, 'log', mylog)
|
|
> def mylog(orig, self, service, *msg, **opts):
|
|
> if service in ['wireproto_requests']:
|
|
> kw = []
|
|
> for k, v in sorted(opts.iteritems()):
|
|
> if k =='args':
|
|
> v = eval(v)
|
|
> for arg in v:
|
|
> if isinstance(arg, dict):
|
|
> v = sorted(list(arg.iteritems()))
|
|
> v = str(v)
|
|
> kw.append("%s=%s" % (k, v))
|
|
> kwstr = ", ".join(kw)
|
|
> msgstr = msg[0] % msg[1:]
|
|
> self.warn('%s: %s (%s)\n' % (service, msgstr, kwstr))
|
|
> with open('$TESTTMP/loggedrequests', 'a') as f:
|
|
> f.write('%s: %s (%s)\n' % (service, msgstr, kwstr))
|
|
> return orig(self, service, *msg, **opts)
|
|
> EOF
|
|
|
|
$ cat >> $HGRCPATH <<EOF
|
|
> [extensions]
|
|
> uilog=$TESTTMP/uilog.py
|
|
> remotefilelog=
|
|
> [ui]
|
|
> ssh = python "$TESTDIR/dummyssh"
|
|
> [remotefilelog]
|
|
> cachepath=$CACHEDIR
|
|
> EOF
|
|
|
|
$ hg init repo
|
|
$ cd repo
|
|
$ cat >> .hg/hgrc <<EOF
|
|
> [remotefilelog]
|
|
> server=True
|
|
> EOF
|
|
$ cd ..
|
|
$ hg clone ssh://user@dummy/repo --shallow repo-clone -q
|
|
$ cd repo
|
|
$ cat >> .hg/hgrc <<EOF
|
|
> [wireproto]
|
|
> logrequests=batch,branchmap,getbundle,hello,listkeys,lookup,between,unbundle
|
|
> loggetfiles=true
|
|
> EOF
|
|
$ echo a > a && hg add a && hg ci -m a
|
|
$ cd ../repo-clone
|
|
$ hg pull 2>&1 | grep wireproto_requests
|
|
remote: wireproto_requests: (args=[], command=hello, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['0000000000000000000000000000000000000000-0000000000000000000000000000000000000000'], command=between, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=[], command=batch, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=[('bookmarks', '1'), ('bundlecaps', 'HG20,$USUAL_BUNDLE2_CAPS$%0Aremotefilelog%3DTrue,remotefilelog'), ('cg', '1'), ('common', '0000000000000000000000000000000000000000'), ('heads', 'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b'), ('listkeys', 'bookmarks'), ('phases', '1')], command=getbundle, duration=*, reponame=unknown, responselen=*) (glob)
|
|
$ cd ../repo
|
|
$ echo b > b && hg add b && hg ci -m b
|
|
$ echo c > c && hg add c && hg ci -m c
|
|
$ cd ../repo-clone
|
|
$ hg pull 2>&1 | grep wireproto_requests
|
|
remote: wireproto_requests: (args=[], command=hello, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['0000000000000000000000000000000000000000-0000000000000000000000000000000000000000'], command=between, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=[], command=batch, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=[('bookmarks', '1'), ('bundlecaps', 'HG20,$USUAL_BUNDLE2_CAPS$%0Aremotefilelog%3DTrue,remotefilelog'), ('cg', '1'), ('common', 'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b'), ('heads', '177f92b773850b59254aa5e923436f921b55483b'), ('listkeys', 'bookmarks'), ('phases', '1')], command=getbundle, duration=*, reponame=unknown, responselen=*) (glob)
|
|
$ hg up tip -q
|
|
|
|
Looks like `ui.warn()` after getfiles might not make it's way to client hg. Let's read from file
|
|
$ grep 'getfiles' $TESTTMP/loggedrequests
|
|
wireproto_requests: (args=[*], command=getfiles, duration=*, reponame=unknown, responselen=*) (glob)
|
|
$ echo cc > c && hg ci -m c
|
|
$ hg push --force 2>&1 | grep wireproto_requests
|
|
remote: wireproto_requests: (args=[], command=hello, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['0000000000000000000000000000000000000000-0000000000000000000000000000000000000000'], command=between, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=[], command=batch, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['phases'], command=listkeys, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['bookmarks'], command=listkeys, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['666f726365'], command=unbundle, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['phases'], command=listkeys, duration=*, reponame=unknown, responselen=*) (glob)
|
|
$ hg pull -r ololo 2>&1 | grep wireproto_requests
|
|
remote: wireproto_requests: (args=[], command=hello, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['0000000000000000000000000000000000000000-0000000000000000000000000000000000000000'], command=between, duration=*, reponame=unknown, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['ololo'], command=lookup, duration=*, reponame=unknown, responselen=*) (glob)
|
|
|
|
Enable clienttelemetry and change reponame
|
|
$ cat >> $HGRCPATH <<EOF
|
|
> [extensions]
|
|
> clienttelemetry=
|
|
> [common]
|
|
> reponame=repo
|
|
> EOF
|
|
$ hg pull 2>&1 | grep wireproto_requests
|
|
remote: wireproto_requests: (args=[], command=hello, duration=*, reponame=repo, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=['0000000000000000000000000000000000000000-0000000000000000000000000000000000000000'], command=between, duration=*, reponame=repo, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=[], client_fullcommand=pull, client_hostname=*, command=batch, duration=*, reponame=repo, responselen=*) (glob)
|
|
remote: wireproto_requests: (args=[('bookmarks', '1'), ('bundlecaps', 'HG20,$USUAL_BUNDLE2_CAPS$%0Aremotefilelog%3DTrue,remotefilelog'), ('cg', '0'), ('common', 'cc27a19b3db0a292460298a71c413840f27f6a37'), ('heads', 'cc27a19b3db0a292460298a71c413840f27f6a37'), ('listkeys', 'bookmarks'), ('phases', '1')], client_fullcommand=pull, client_hostname=*, command=getbundle, duration=*, reponame=repo, responselen=*) (glob)
|
|
$ cd ../repo
|
|
$ echo xxx > xxx && hg add xxx && hg ci -m xxx
|
|
$ cd -
|
|
$TESTTMP/repo-clone
|
|
$ hg pull -q
|
|
$ hg up tip -q
|
|
$ grep 'getfiles' $TESTTMP/loggedrequests
|
|
wireproto_requests: (args=[*], command=getfiles, duration=*, reponame=unknown, responselen=*) (glob)
|
|
wireproto_requests: (args=[*], client_fullcommand=up tip -q, client_hostname=*, command=getfiles, duration=*, reponame=repo, responselen=*) (glob)
|