<?php
/*
 * Copyright 2014 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

namespace Google\Service\Bigquery;

class QueryTimelineSample extends \Google\Model
{
  /**
   * Total number of active workers. This does not correspond directly to slot
   * usage. This is the largest value observed since the last sample.
   *
   * @var string
   */
  public $activeUnits;
  /**
   * Total parallel units of work completed by this query.
   *
   * @var string
   */
  public $completedUnits;
  /**
   * Milliseconds elapsed since the start of query execution.
   *
   * @var string
   */
  public $elapsedMs;
  /**
   * Units of work that can be scheduled immediately. Providing additional slots
   * for these units of work will accelerate the query, if no other query in the
   * reservation needs additional slots.
   *
   * @var string
   */
  public $estimatedRunnableUnits;
  /**
   * Total units of work remaining for the query. This number can be revised
   * (increased or decreased) while the query is running.
   *
   * @var string
   */
  public $pendingUnits;
  /**
   * Total shuffle usage ratio in shuffle RAM per reservation of this query.
   * This will be provided for reservation customers only.
   *
   * @var 
   */
  public $shuffleRamUsageRatio;
  /**
   * Cumulative slot-ms consumed by the query.
   *
   * @var string
   */
  public $totalSlotMs;

  /**
   * Total number of active workers. This does not correspond directly to slot
   * usage. This is the largest value observed since the last sample.
   *
   * @param string $activeUnits
   */
  public function setActiveUnits($activeUnits)
  {
    $this->activeUnits = $activeUnits;
  }
  /**
   * @return string
   */
  public function getActiveUnits()
  {
    return $this->activeUnits;
  }
  /**
   * Total parallel units of work completed by this query.
   *
   * @param string $completedUnits
   */
  public function setCompletedUnits($completedUnits)
  {
    $this->completedUnits = $completedUnits;
  }
  /**
   * @return string
   */
  public function getCompletedUnits()
  {
    return $this->completedUnits;
  }
  /**
   * Milliseconds elapsed since the start of query execution.
   *
   * @param string $elapsedMs
   */
  public function setElapsedMs($elapsedMs)
  {
    $this->elapsedMs = $elapsedMs;
  }
  /**
   * @return string
   */
  public function getElapsedMs()
  {
    return $this->elapsedMs;
  }
  /**
   * Units of work that can be scheduled immediately. Providing additional slots
   * for these units of work will accelerate the query, if no other query in the
   * reservation needs additional slots.
   *
   * @param string $estimatedRunnableUnits
   */
  public function setEstimatedRunnableUnits($estimatedRunnableUnits)
  {
    $this->estimatedRunnableUnits = $estimatedRunnableUnits;
  }
  /**
   * @return string
   */
  public function getEstimatedRunnableUnits()
  {
    return $this->estimatedRunnableUnits;
  }
  /**
   * Total units of work remaining for the query. This number can be revised
   * (increased or decreased) while the query is running.
   *
   * @param string $pendingUnits
   */
  public function setPendingUnits($pendingUnits)
  {
    $this->pendingUnits = $pendingUnits;
  }
  /**
   * @return string
   */
  public function getPendingUnits()
  {
    return $this->pendingUnits;
  }
  public function setShuffleRamUsageRatio($shuffleRamUsageRatio)
  {
    $this->shuffleRamUsageRatio = $shuffleRamUsageRatio;
  }
  public function getShuffleRamUsageRatio()
  {
    return $this->shuffleRamUsageRatio;
  }
  /**
   * Cumulative slot-ms consumed by the query.
   *
   * @param string $totalSlotMs
   */
  public function setTotalSlotMs($totalSlotMs)
  {
    $this->totalSlotMs = $totalSlotMs;
  }
  /**
   * @return string
   */
  public function getTotalSlotMs()
  {
    return $this->totalSlotMs;
  }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(QueryTimelineSample::class, 'Google_Service_Bigquery_QueryTimelineSample');
