1 /* 2 * Copyright 2019 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package io.perfmark.impl; 18 19 import java.util.List; 20 21 public abstract class MarkHolder { 22 23 public static final int NO_MAX_MARKS = -1; 24 start(long gen, String taskName, String tagName, long tagId, long nanoTime)25 public abstract void start(long gen, String taskName, String tagName, long tagId, long nanoTime); 26 start(long gen, String taskName, long nanoTime)27 public abstract void start(long gen, String taskName, long nanoTime); 28 start(long gen, String taskName, String subTaskName, long nanoTime)29 public abstract void start(long gen, String taskName, String subTaskName, long nanoTime); 30 link(long gen, long linkId)31 public abstract void link(long gen, long linkId); 32 stop(long gen, long nanoTime)33 public abstract void stop(long gen, long nanoTime); 34 stop(long gen, String taskName, String tagName, long tagId, long nanoTime)35 public abstract void stop(long gen, String taskName, String tagName, long tagId, long nanoTime); 36 stop(long gen, String taskName, long nanoTime)37 public abstract void stop(long gen, String taskName, long nanoTime); 38 stop(long gen, String taskName, String subTaskName, long nanoTime)39 public abstract void stop(long gen, String taskName, String subTaskName, long nanoTime); 40 event(long gen, String eventName, String tagName, long tagId, long nanoTime)41 public abstract void event(long gen, String eventName, String tagName, long tagId, long nanoTime); 42 event(long gen, String eventName, long nanoTime)43 public abstract void event(long gen, String eventName, long nanoTime); 44 event(long gen, String eventName, String subEventName, long nanoTime)45 public abstract void event(long gen, String eventName, String subEventName, long nanoTime); 46 attachTag(long gen, String tagName, long tagId)47 public abstract void attachTag(long gen, String tagName, long tagId); 48 attachKeyedTag(long gen, String name, String value)49 public abstract void attachKeyedTag(long gen, String name, String value); 50 attachKeyedTag(long gen, String name, long value0)51 public abstract void attachKeyedTag(long gen, String name, long value0); 52 attachKeyedTag(long gen, String name, long value0, long value1)53 public abstract void attachKeyedTag(long gen, String name, long value0, long value1); 54 resetForTest()55 public abstract void resetForTest(); 56 read(boolean concurrentWrites)57 public abstract List<Mark> read(boolean concurrentWrites); 58 maxMarks()59 public int maxMarks() { 60 return NO_MAX_MARKS; 61 } 62 MarkHolder()63 protected MarkHolder() {} 64 } 65