You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Aaron Lindsey (Jira)" <ji...@apache.org> on 2019/10/21 16:40:00 UTC

[jira] [Created] (GEODE-7326) Add cache gets timer

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)