Aaron Lindsey created GEODE-7326: ------------------------------------ Summary: Add cache gets timer Key: GEODE-7326 URL: https://issues.apache.org/jira/browse/GEODE-7326 Project: Geode Issue Type: Improvement Reporter: Aaron Lindsey
h3. Why Users want to understand the performance of their operations within the server. h3. Acceptance Criteria Type: timer Name: geode.cache.gets Tags: region, result=hit/miss Lifecycle of meter: The hit/miss meter for each region is created when the first GET on that user region happens. The meter(s) are only removed when the cache is closed. Description for meter: The total time and count for GET requests from clients. Thing to measure : A count and total time for GET operations that didn't error, by this specific Server (1 or many cacheservers) in the geode cluster from when the server receives the request to when it sends the response. Business Rule for this measurement: This meter records any operation sent through a CacheServer h3. Scenarios *Scenario: Java Client Hits* Given a cluster with a Server1 and a Locator1 When the oldest supported java client issues 5 get operations using the region.get(key) command Then a meter on Server1 exists such that: - Meter Name = 'geode.cache.gets' - Count = 5 - Total Time = total time spent from received request to response to client for these 5 requests - Tag: region = region that the 'get' method was called against - Tag: result=hit *Scenario: Java Client Misses* Given a cluster with a Server1 and a Locator1 When the oldest supported java client issues 5 get operations where the user is getting a key that doesn't exist in the region using the region.get(key) command Then a meter on Server1 exists such that: - Meter Name = 'geode.cache.gets' - Count = 5 - Total Time = total time spent from received request to response to client for these 5 requests - Tag: region = region that the 'get' method was called against - Tag: result=miss *Scenario: Java client error response* Given a cluster with a Server1 And a RegionA exists with NO entry with a Key="1" And a CacheLoader that throws an exception when invoked When the client issues a region.get(1) request Then no meter on Server1 should exist like: - Meter Name = 'geode.cache.gets' - Tag: region = RegionA -- This message was sent by Atlassian Jira (v8.3.4#803005)