Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce Page Cursor Counters interface to split
cursor counters and tracers to isolate code that can only access counters and actually do cursor events tracing.
- Loading branch information
1 parent
af01c42
commit d4b0cbf
Showing
3 changed files
with
70 additions
and
31 deletions.
There are no files selected for viewing
52 changes: 52 additions & 0 deletions
52
community/io/src/main/java/org/neo4j/io/pagecache/tracing/cursor/PageCursorCounters.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,52 @@ | |||
/* | |||
* Copyright (c) 2002-2017 "Neo Technology," | |||
* Network Engine for Objects in Lund AB [http://neotechnology.com] | |||
* | |||
* This file is part of Neo4j. | |||
* | |||
* Neo4j is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation, either version 3 of the License, or | |||
* (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
*/ | |||
package org.neo4j.io.pagecache.tracing.cursor; | |||
|
|||
/** | |||
* Expose information from page cache about particular page cursor events. | |||
* | |||
* Exposed counters are relevant only for particular cursor and do not represent global page cache wide picture. | |||
* | |||
* @see PageCursorCounters | |||
* @see PageCursorTracer | |||
*/ | |||
public interface PageCursorCounters | |||
{ | |||
/** | |||
* @return The number of page faults observed thus far. | |||
*/ | |||
long faults(); | |||
|
|||
/** | |||
* @return The number of page pins observed thus far. | |||
*/ | |||
long pins(); | |||
|
|||
/** | |||
* @return The number of page unpins observed thus far. | |||
*/ | |||
long unpins(); | |||
|
|||
/** | |||
* @return The sum total of bytes read in through page faults thus far. | |||
*/ | |||
long bytesRead(); | |||
|
|||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters