tx.go
func (t *tx) StartDatastore(table, operation, sql, rollupName string) error {
	t.mtx.Lock()
	defer t.mtx.Unlock()

	id, err := t.Tracer.BeginDatastoreSegment(t.id, t.ss.Peek(), table, operation, sql, rollupName)
	if err != nil {
		return err
	}
	t.ss.Push(id)
	return nil
}
func (t *tx) StartDatastore(table, operation, sql, rollupName string) error {
	t.mtx.Lock()
	defer t.mtx.Unlock()

	id, err := t.Tracer.BeginDatastoreSegment(t.id, t.ss.Peek(), table, operation, sql, rollupName)
	if err != nil {
		return err
	}
	t.ss.Push(id)
	return nil
}
// StartDatastore starts a datastore segment.