# startSync method

void startSync (String name, { Map arguments, Flow flow })

Start a synchronous operation labeled `name`. Optionally takes a Map of `arguments`. This slice may also optionally be associated with a Flow event. This operation must be finished before returning to the event queue.

## Implementation

    static void startSync(String name, {Map arguments, Flow flow}) {
      if (_isProduct) {
        return;
      }
      if (name is! String) {
        throw new ArgumentError.value(name, 'name', 'Must be a String');
      }
      if (!_isDartStreamEnabled()) {
        // Push a null onto the stack and return.
        _stack.add(null);
        return;
      }
      var block = new _SyncBlock._(name, _getTraceClock(), _getThreadCpuClock());
      if (arguments is Map) {
        block._arguments = arguments;
      }
      if (flow is Flow) {
        block.flow = flow;
      }
      _stack.add(block);
    }