code: function Stats(statsDict){
    if(!(this instanceof Stats))
      return new Stats(statsDict)
  
    statsDict = statsDict || {}
  
    // Check statsDict has the required fields
    // 
    // checkType('String', 'statsDict.id', statsDict.id, {required: true});
    //  
    // checkType('StatsType', 'statsDict.type', statsDict.type, {required: true});
    //  
    // checkType('double', 'statsDict.timestamp', statsDict.timestamp, {required: true});
    //  
    // checkType('int64', 'statsDict.timestampMillis', statsDict.timestampMillis, {required: true});
    //  
  
    // Init parent class
    Stats.super_.call(this, statsDict)
  
    // Set object properties
    Object.defineProperties(this, {
      id: {
        writable: true,
        enumerable: true,
        value: statsDict.id
      },
      type: {
        writable: true,
        enumerable: true,
        value: statsDict.type
      },
      timestamp: {
        writable: true,
        enumerable: true,
        value: statsDict.timestamp
      },
      timestampMillis: {
        writable: true,
        enumerable: true,
        value: statsDict.timestampMillis
      }
    })
  }
docs: A dictionary that represents the stats gathered.
  
  @constructor module:core/complexTypes.Stats
  
  @property {external:String} id
  A unique id that is associated with the object that was inspected to produce
  @property {module:core/complexTypes.StatsType} type
  The type of this object.
  @property {external:double} timestamp
  @deprecated
  [DEPRECATED: Use timestampMillis] The timestamp associated with this object:
  @property {external:int64} timestampMillis
  The timestamp associated with this event: Milliseconds elapsed since the
  UNIX Epoch (Jan 1, 1970, UTC).