OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package count | 5 package count |
6 | 6 |
7 import ( | 7 import ( |
8 "golang.org/x/net/context" | 8 "golang.org/x/net/context" |
9 | 9 |
10 mc "github.com/luci/gae/service/memcache" | 10 mc "github.com/luci/gae/service/memcache" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 } | 64 } |
65 | 65 |
66 func (m *mcCounter) Stats() (*mc.Statistics, error) { | 66 func (m *mcCounter) Stats() (*mc.Statistics, error) { |
67 ret, err := m.mc.Stats() | 67 ret, err := m.mc.Stats() |
68 return ret, m.c.Stats.up(err) | 68 return ret, m.c.Stats.up(err) |
69 } | 69 } |
70 | 70 |
71 // FilterMC installs a counter Memcache filter in the context. | 71 // FilterMC installs a counter Memcache filter in the context. |
72 func FilterMC(c context.Context) (context.Context, *MCCounter) { | 72 func FilterMC(c context.Context) (context.Context, *MCCounter) { |
73 state := &MCCounter{} | 73 state := &MCCounter{} |
| 74 state.NewItem.init() |
| 75 state.AddMulti.init() |
| 76 state.SetMulti.init() |
| 77 state.GetMulti.init() |
| 78 state.DeleteMulti.init() |
| 79 state.CompareAndSwapMulti.init() |
| 80 state.Increment.init() |
| 81 state.Flush.init() |
| 82 state.Stats.init() |
| 83 |
74 return mc.AddRawFilters(c, func(ic context.Context, mc mc.RawInterface)
mc.RawInterface { | 84 return mc.AddRawFilters(c, func(ic context.Context, mc mc.RawInterface)
mc.RawInterface { |
75 return &mcCounter{state, mc} | 85 return &mcCounter{state, mc} |
76 }), state | 86 }), state |
77 } | 87 } |
OLD | NEW |