/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/transport/trace.py

  • Committer: Andrew Bennetts
  • Date: 2008-09-08 12:59:00 UTC
  • mfrom: (3695 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3756.
  • Revision ID: andrew.bennetts@canonical.com-20080908125900-8ywtsr7jqyyatjz0
Merge from bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
    Not all operations are logged at this point, if you need an unlogged
34
34
    operation please add a test to the tests of this transport, for the logging
35
35
    of the operation you want logged.
36
 
 
37
 
    Another future enhancement would be to log to bzrlib.trace.mutter when
38
 
    trace+ is used from the command line (or perhaps as well/instead use
39
 
    -Dtransport), to make tracing operations of the entire program easily.
40
36
    """
41
37
 
42
38
    def __init__(self, url, _decorated=None, _from_transport=None):
62
58
 
63
59
    def delete(self, relpath):
64
60
        """See Transport.delete()."""
 
61
        self._activity.append(('delete', relpath))
65
62
        return self._decorated.delete(relpath)
66
63
 
67
64
    def delete_tree(self, relpath):
75
72
 
76
73
    def get(self, relpath):
77
74
        """See Transport.get()."""
78
 
        self._activity.append(('get', relpath))
 
75
        self._trace(('get', relpath))
79
76
        return self._decorated.get(relpath)
80
77
 
81
78
    def get_smart_client(self):
91
88
 
92
89
    def mkdir(self, relpath, mode=None):
93
90
        """See Transport.mkdir()."""
 
91
        self._trace(('mkdir', relpath, mode))
94
92
        return self._decorated.mkdir(relpath, mode)
95
93
 
96
94
    def open_write_stream(self, relpath, mode=None):
103
101
    
104
102
    def put_bytes(self, relpath, bytes, mode=None):
105
103
        """See Transport.put_bytes()."""
106
 
        self._activity.append(('put_bytes', relpath, len(bytes), mode))
 
104
        self._trace(('put_bytes', relpath, len(bytes), mode))
107
105
        return self._decorated.put_bytes(relpath, bytes, mode)
108
106
 
109
107
    def listable(self):
121
119
    def readv(self, relpath, offsets, adjust_for_latency=False,
122
120
        upper_limit=None):
123
121
        """See Transport.readv."""
124
 
        self._activity.append(('readv', relpath, offsets, adjust_for_latency,
 
122
        self._trace(('readv', relpath, offsets, adjust_for_latency,
125
123
            upper_limit))
126
124
        return self._decorated.readv(relpath, offsets, adjust_for_latency,
127
125
            upper_limit)
131
129
        return self._decorated.recommended_page_size()
132
130
 
133
131
    def rename(self, rel_from, rel_to):
 
132
        self._activity.append(('rename', rel_from, rel_to))
134
133
        return self._decorated.rename(rel_from, rel_to)
135
134
    
136
135
    def rmdir(self, relpath):
149
148
        """See Transport.lock_write."""
150
149
        return self._decorated.lock_write(relpath)
151
150
 
 
151
    def _trace(self, operation_tuple):
 
152
        """Record that a transport operation occured.
 
153
 
 
154
        :param operation: Tuple of transport call name and arguments.
 
155
        """
 
156
        self._activity.append(operation_tuple)
 
157
 
152
158
 
153
159
class TraceServer(DecoratorServer):
154
160
    """Server for the TransportTraceDecorator for testing with."""