| randomReadWithNewInputStream(long, byte[], int, int) |  | 0% |  | 0% | 11 | 11 | 42 | 42 | 1 | 1 |
| read(byte[], int, int) |  | 0% |  | 0% | 10 | 10 | 50 | 50 | 1 | 1 |
| read(ByteBuffer) |  | 0% |  | 0% | 10 | 10 | 53 | 53 | 1 | 1 |
| read() |  | 0% |  | 0% | 9 | 9 | 46 | 46 | 1 | 1 |
| reopen(String, long, long) |  | 0% |  | 0% | 4 | 4 | 29 | 29 | 1 | 1 |
| seekInStream(long) |  | 0% |  | 0% | 11 | 11 | 27 | 27 | 1 | 1 |
| readFully(long, byte[], int, int) |  | 0% |  | 0% | 4 | 4 | 23 | 23 | 1 | 1 |
| closeStream(String, long) |  | 0% |  | 0% | 2 | 2 | 14 | 14 | 1 | 1 |
| lazySeek(long, long) |  | 0% |  | 0% | 7 | 7 | 22 | 22 | 1 | 1 |
| OBSInputStream(String, String, long, ObsClient, FileSystem.Statistics, long, OBSFileSystem) |  | 0% |  | 0% | 2 | 2 | 15 | 15 | 1 | 1 |
| read(long, byte[], int, int) |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 1 | 1 |
| onReadFailure(IOException, int) |  | 0% |  | 0% | 2 | 2 | 14 | 14 | 1 | 1 |
| tryToReadFromInputStream(InputStream, byte[], int, int) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| toString() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| seekQuietly(long) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| seek(long) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| sleepInLock() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| setReadahead(Long) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| calculateRequestLimit(long, long, long, long) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| close() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| available() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| incrementBytesRead(long) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| checkNotClosed() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getPos() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| remainingInFile() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| remainingInCurrentRequest() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| seekToNewSource(long) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| markSupported() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |