class_docstr: Represents one run of a single Java Microbenchmark Harness
      
class_docstr_tok: ["Represents","one","run","of","a","single","Java","Microbenchmark","Harness"]
code: def __init__(
      self,
      benchmark,
      primaryMetric,
      forks,
      warmupIterations,
      measurementIterations,
      **counters,
  ):
      self.name = benchmark
      self.primaryMetric = primaryMetric
      self.score = primaryMetric["score"]
      self.score_unit = primaryMetric["scoreUnit"]
      self.forks = forks
      self.warmups = warmupIterations
      self.runs = measurementIterations
      self.counters = {
          "mode": counters["mode"],
          "threads": counters["threads"],
          "warmups": warmupIterations,
          "warmupTime": counters["warmupTime"],
          "measurements": measurementIterations,
          "measurementTime": counters["measurementTime"],
          "jvmArgs": counters["jvmArgs"],
      }
      self.reciprocal_value = (
          True if self.score_unit.endswith("/op") else False
      )
      if self.score_unit.startswith("ops/"):
          idx = self.score_unit.find("/")
          self.normalizePerSec(self.score_unit[idx + 1 :])
      elif self.score_unit.endswith("/op"):
          idx = self.score_unit.find("/")
          self.normalizePerSec(self.score_unit[:idx])
      else:
          self.normalizeFactor = 1
  
imports: from itertools import filterfalse, groupby, tee
  import json
  import subprocess
  from tempfile import NamedTemporaryFile
  from .core import Benchmark
  from ..utils.command import Command
  from ..utils.maven import Maven
label_desc: Use image node_id 1 to create a new JavaMicrobenchmarkHarnessObservation object  with example: obj = JavaMicrobenchmarkHarnessObservation(benchmark, primaryMetric, forks, warmupIterations, measurementIterations)