From 108cdb820006cc136194ccc931d45b9e1def329c Mon Sep 17 00:00:00 2001 From: enochtangg Date: Mon, 8 Jan 2024 18:38:30 +0000 Subject: [PATCH] deploy: 00cdc2086c5f6190b2fb70f98b18a0d01810942d --- .nojekyll | 0 index.html | 7 + search.js | 46 + snuba_sdk.html | 6306 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 6359 insertions(+) create mode 100644 .nojekyll create mode 100644 index.html create mode 100644 search.js create mode 100644 snuba_sdk.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/index.html b/index.html new file mode 100644 index 00000000..98aadfdb --- /dev/null +++ b/index.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/search.js b/search.js new file mode 100644 index 00000000..41a36b99 --- /dev/null +++ b/search.js @@ -0,0 +1,46 @@ +window.pdocSearch = (function(){ +/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o

\n\n

See here for the full\ndocumentation.

\n\n

Status

\n\n

\"image\"

\n\n

\"image\"

\n\n

\"image\"

\n\n

Examples

\n\n

Snuba SDK is a tool that allows requests to Snuba to be built\nprogramatically. A Request consists of a Query, the dataset the Query is\ntargeting, the AppID of the Request, and any flags for the Request. A\nQuery object is a code representation of a SnQL query, and has a number\nof attributes corresponding to different parts of the query.

\n\n

Requests and Queries can be created directly:

\n\n
\n
request = Request(\n    dataset = "discover",\n    app_id = "myappid",\n    tenant_ids = {"referrer": "my_referrer", "organization_id": 1234}\n    query = Query(\n        match=Entity("events"),\n        select=[\n            Column("title"),\n            Function("uniq", [Column("event_id")], "uniq_events"),\n        ],\n        groupby=[Column("title")],\n        where=[\n            Condition(Column("timestamp"), Op.GT, datetime.datetime(2021, 1, 1)),\n            Condition(Column("project_id"), Op.IN, Function("tuple", [1, 2, 3])),\n        ],\n        limit=Limit(10),\n        offset=Offset(0),\n        granularity=Granularity(3600),\n    ),\n    flags = Flags(debug=True)\n)\n
\n
\n\n

Queries can also be built incrementally:

\n\n
\n
query = (\n    Query("discover", Entity("events"))\n    .set_select(\n        [Column("title"), Function("uniq", [Column("event_id")], "uniq_events")]\n    )\n    .set_groupby([Column("title")])\n    .set_where(\n        [\n            Condition(Column("timestamp"), Op.GT, datetime.datetime.(2021, 1, 1)),\n            Condition(Column("project_id"), Op.IN, Function("tuple", [1, 2, 3])),\n        ]\n    )\n    .set_limit(10)\n    .set_offset(0)\n    .set_granularity(3600)\n)\n
\n
\n\n

Once the request is built, it can be translated into a Snuba request\nthat can be sent to Snuba.

\n\n
\n
# Outputs a formatted Snuba request\nrequest.serialize()\n
\n
\n\n

It can also be printed in a more human readable format.

\n\n
\n
# Outputs a formatted Snuba request\nprint(request.print())\n
\n
\n\n

This outputs:

\n\n
\n
{\n    "dataset": "discover",\n    "app_id": "myappid",\n    "query": "MATCH (events) SELECT title, uniq(event_id) AS uniq_events BY title WHERE timestamp > toDateTime('2021-01-01T00:00:00.000000') AND project_id IN tuple(1, 2, 3) LIMIT 10 OFFSET 0 GRANULARITY 3600",\n    "debug": true\n}\n
\n
\n\n

If an expression in the query is invalid (e.g. Column(1)) then an\nInvalidExpressionError exception will be thrown. If there is a problem\nwith a query, it will throw an InvalidQueryError exception when\n.validate() or .translate() is called. If there is a problem with\nthe Request or the Flags, an InvalidRequestError or InvalidFlagError\nwill be thrown respectively.

\n\n

Contributing to the SDK

\n\n

Please refer to\nCONTRIBUTING.rst.

\n\n

License

\n\n

Licensed under FSL-1.0-Apache-2.0, see\nLICENSE.

\n"}, "snuba_sdk.AliasedExpression": {"fullname": "snuba_sdk.AliasedExpression", "modulename": "snuba_sdk", "qualname": "AliasedExpression", "kind": "class", "doc": "

Used to alias the name of an expression in the results of a query. It is not used\nanywhere in Snuba except to change the names in the results set. Right now this is\nlimited to Columns only because Functions have a separate alias. Eventually the\ntwo will be combined.

\n\n
Parameters
\n\n
    \n
  • Expression: The expression to alias.
  • \n
\n\n
Raises
\n\n
    \n
  • InvalidExpressionError: If the expression or alias is invalid.
  • \n
\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.AliasedExpression.__init__": {"fullname": "snuba_sdk.AliasedExpression.__init__", "modulename": "snuba_sdk", "qualname": "AliasedExpression.__init__", "kind": "function", "doc": "

\n", "signature": "(exp: snuba_sdk.column.Column, alias: Union[str, NoneType] = None)"}, "snuba_sdk.AliasedExpression.exp": {"fullname": "snuba_sdk.AliasedExpression.exp", "modulename": "snuba_sdk", "qualname": "AliasedExpression.exp", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.column.Column"}, "snuba_sdk.AliasedExpression.alias": {"fullname": "snuba_sdk.AliasedExpression.alias", "modulename": "snuba_sdk", "qualname": "AliasedExpression.alias", "kind": "variable", "doc": "

\n", "annotation": ": Union[str, NoneType]", "default_value": "None"}, "snuba_sdk.AliasedExpression.validate": {"fullname": "snuba_sdk.AliasedExpression.validate", "modulename": "snuba_sdk", "qualname": "AliasedExpression.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.And": {"fullname": "snuba_sdk.And", "modulename": "snuba_sdk", "qualname": "And", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.conditions.BooleanCondition"}, "snuba_sdk.And.__init__": {"fullname": "snuba_sdk.And.__init__", "modulename": "snuba_sdk", "qualname": "And.__init__", "kind": "function", "doc": "

\n", "signature": "(\tconditions: Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]] = <factory>)"}, "snuba_sdk.And.op": {"fullname": "snuba_sdk.And.op", "modulename": "snuba_sdk", "qualname": "And.op", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.conditions.BooleanOp", "default_value": "<BooleanOp.AND: 'AND'>"}, "snuba_sdk.And.conditions": {"fullname": "snuba_sdk.And.conditions", "modulename": "snuba_sdk", "qualname": "And.conditions", "kind": "variable", "doc": "

\n", "annotation": ": Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]]"}, "snuba_sdk.ArithmeticOperator": {"fullname": "snuba_sdk.ArithmeticOperator", "modulename": "snuba_sdk", "qualname": "ArithmeticOperator", "kind": "class", "doc": "

An enumeration.

\n", "bases": "enum.Enum"}, "snuba_sdk.ArithmeticOperator.PLUS": {"fullname": "snuba_sdk.ArithmeticOperator.PLUS", "modulename": "snuba_sdk", "qualname": "ArithmeticOperator.PLUS", "kind": "variable", "doc": "

\n", "default_value": "<ArithmeticOperator.PLUS: 'plus'>"}, "snuba_sdk.ArithmeticOperator.MINUS": {"fullname": "snuba_sdk.ArithmeticOperator.MINUS", "modulename": "snuba_sdk", "qualname": "ArithmeticOperator.MINUS", "kind": "variable", "doc": "

\n", "default_value": "<ArithmeticOperator.MINUS: 'minus'>"}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"fullname": "snuba_sdk.ArithmeticOperator.MULTIPLY", "modulename": "snuba_sdk", "qualname": "ArithmeticOperator.MULTIPLY", "kind": "variable", "doc": "

\n", "default_value": "<ArithmeticOperator.MULTIPLY: 'multiply'>"}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"fullname": "snuba_sdk.ArithmeticOperator.DIVIDE", "modulename": "snuba_sdk", "qualname": "ArithmeticOperator.DIVIDE", "kind": "variable", "doc": "

\n", "default_value": "<ArithmeticOperator.DIVIDE: 'divide'>"}, "snuba_sdk.BooleanCondition": {"fullname": "snuba_sdk.BooleanCondition", "modulename": "snuba_sdk", "qualname": "BooleanCondition", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.BooleanCondition.__init__": {"fullname": "snuba_sdk.BooleanCondition.__init__", "modulename": "snuba_sdk", "qualname": "BooleanCondition.__init__", "kind": "function", "doc": "

\n", "signature": "(\top: snuba_sdk.conditions.BooleanOp,\tconditions: Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]])"}, "snuba_sdk.BooleanCondition.op": {"fullname": "snuba_sdk.BooleanCondition.op", "modulename": "snuba_sdk", "qualname": "BooleanCondition.op", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.conditions.BooleanOp"}, "snuba_sdk.BooleanCondition.conditions": {"fullname": "snuba_sdk.BooleanCondition.conditions", "modulename": "snuba_sdk", "qualname": "BooleanCondition.conditions", "kind": "variable", "doc": "

\n", "annotation": ": Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]]"}, "snuba_sdk.BooleanCondition.validate": {"fullname": "snuba_sdk.BooleanCondition.validate", "modulename": "snuba_sdk", "qualname": "BooleanCondition.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.BooleanOp": {"fullname": "snuba_sdk.BooleanOp", "modulename": "snuba_sdk", "qualname": "BooleanOp", "kind": "class", "doc": "

An enumeration.

\n", "bases": "enum.Enum"}, "snuba_sdk.BooleanOp.AND": {"fullname": "snuba_sdk.BooleanOp.AND", "modulename": "snuba_sdk", "qualname": "BooleanOp.AND", "kind": "variable", "doc": "

\n", "default_value": "<BooleanOp.AND: 'AND'>"}, "snuba_sdk.BooleanOp.OR": {"fullname": "snuba_sdk.BooleanOp.OR", "modulename": "snuba_sdk", "qualname": "BooleanOp.OR", "kind": "variable", "doc": "

\n", "default_value": "<BooleanOp.OR: 'OR'>"}, "snuba_sdk.Column": {"fullname": "snuba_sdk.Column", "modulename": "snuba_sdk", "qualname": "Column", "kind": "class", "doc": "

A representation of a single column in the database. Columns are\nexpected to be alpha-numeric, with '.', '_, and:allowed as well.\nIf the column is subscriptable then you can specify the column in the\nformsubscriptable[key]. Thesubscriptableattribute will contain the outer\ncolumn andkey` will contain the inner key.

\n\n
Parameters
\n\n
    \n
  • name: The column name.
  • \n
  • entity: The entity for that column
  • \n
\n\n
Raises
\n\n
    \n
  • InvalidColumnError: If the column name is not a string or has an\ninvalid format.
  • \n
\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Column.__init__": {"fullname": "snuba_sdk.Column.__init__", "modulename": "snuba_sdk", "qualname": "Column.__init__", "kind": "function", "doc": "

\n", "signature": "(name: str, entity: Union[snuba_sdk.entity.Entity, NoneType] = None)"}, "snuba_sdk.Column.name": {"fullname": "snuba_sdk.Column.name", "modulename": "snuba_sdk", "qualname": "Column.name", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Column.entity": {"fullname": "snuba_sdk.Column.entity", "modulename": "snuba_sdk", "qualname": "Column.entity", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.entity.Entity, NoneType]", "default_value": "None"}, "snuba_sdk.Column.subscriptable": {"fullname": "snuba_sdk.Column.subscriptable", "modulename": "snuba_sdk", "qualname": "Column.subscriptable", "kind": "variable", "doc": "

\n", "annotation": ": Union[str, NoneType]", "default_value": "None"}, "snuba_sdk.Column.key": {"fullname": "snuba_sdk.Column.key", "modulename": "snuba_sdk", "qualname": "Column.key", "kind": "variable", "doc": "

\n", "annotation": ": Union[str, NoneType]", "default_value": "None"}, "snuba_sdk.Column.validate": {"fullname": "snuba_sdk.Column.validate", "modulename": "snuba_sdk", "qualname": "Column.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Column.validate_data_model": {"fullname": "snuba_sdk.Column.validate_data_model", "modulename": "snuba_sdk", "qualname": "Column.validate_data_model", "kind": "function", "doc": "

\n", "signature": "(self, entity: snuba_sdk.entity.Entity) -> None:", "funcdef": "def"}, "snuba_sdk.Condition": {"fullname": "snuba_sdk.Condition", "modulename": "snuba_sdk", "qualname": "Condition", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Condition.__init__": {"fullname": "snuba_sdk.Condition.__init__", "modulename": "snuba_sdk", "qualname": "Condition.__init__", "kind": "function", "doc": "

\n", "signature": "(\tlhs: Union[snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function],\top: snuba_sdk.conditions.Op,\trhs: Union[snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]]] = None)"}, "snuba_sdk.Condition.lhs": {"fullname": "snuba_sdk.Condition.lhs", "modulename": "snuba_sdk", "qualname": "Condition.lhs", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]"}, "snuba_sdk.Condition.op": {"fullname": "snuba_sdk.Condition.op", "modulename": "snuba_sdk", "qualname": "Condition.op", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.conditions.Op"}, "snuba_sdk.Condition.rhs": {"fullname": "snuba_sdk.Condition.rhs", "modulename": "snuba_sdk", "qualname": "Condition.rhs", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]]]", "default_value": "None"}, "snuba_sdk.Condition.validate": {"fullname": "snuba_sdk.Condition.validate", "modulename": "snuba_sdk", "qualname": "Condition.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.CurriedFunction": {"fullname": "snuba_sdk.CurriedFunction", "modulename": "snuba_sdk", "qualname": "CurriedFunction", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.CurriedFunction.__init__": {"fullname": "snuba_sdk.CurriedFunction.__init__", "modulename": "snuba_sdk", "qualname": "CurriedFunction.__init__", "kind": "function", "doc": "

\n", "signature": "(\tfunction: str,\tinitializers: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, snuba_sdk.column.Column]], NoneType] = None,\tparameters: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]], snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function, snuba_sdk.function.Identifier, snuba_sdk.function.Lambda]], NoneType] = None,\talias: Union[str, NoneType] = None)"}, "snuba_sdk.CurriedFunction.function": {"fullname": "snuba_sdk.CurriedFunction.function", "modulename": "snuba_sdk", "qualname": "CurriedFunction.function", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.CurriedFunction.initializers": {"fullname": "snuba_sdk.CurriedFunction.initializers", "modulename": "snuba_sdk", "qualname": "CurriedFunction.initializers", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, snuba_sdk.column.Column]], NoneType]", "default_value": "None"}, "snuba_sdk.CurriedFunction.parameters": {"fullname": "snuba_sdk.CurriedFunction.parameters", "modulename": "snuba_sdk", "qualname": "CurriedFunction.parameters", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]], snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function, snuba_sdk.function.Identifier, snuba_sdk.function.Lambda]], NoneType]", "default_value": "None"}, "snuba_sdk.CurriedFunction.alias": {"fullname": "snuba_sdk.CurriedFunction.alias", "modulename": "snuba_sdk", "qualname": "CurriedFunction.alias", "kind": "variable", "doc": "

\n", "annotation": ": Union[str, NoneType]", "default_value": "None"}, "snuba_sdk.CurriedFunction.validate": {"fullname": "snuba_sdk.CurriedFunction.validate", "modulename": "snuba_sdk", "qualname": "CurriedFunction.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Direction": {"fullname": "snuba_sdk.Direction", "modulename": "snuba_sdk", "qualname": "Direction", "kind": "class", "doc": "

An enumeration.

\n", "bases": "enum.Enum"}, "snuba_sdk.Direction.ASC": {"fullname": "snuba_sdk.Direction.ASC", "modulename": "snuba_sdk", "qualname": "Direction.ASC", "kind": "variable", "doc": "

\n", "default_value": "<Direction.ASC: 'ASC'>"}, "snuba_sdk.Direction.DESC": {"fullname": "snuba_sdk.Direction.DESC", "modulename": "snuba_sdk", "qualname": "Direction.DESC", "kind": "variable", "doc": "

\n", "default_value": "<Direction.DESC: 'DESC'>"}, "snuba_sdk.Entity": {"fullname": "snuba_sdk.Entity", "modulename": "snuba_sdk", "qualname": "Entity", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Entity.__init__": {"fullname": "snuba_sdk.Entity.__init__", "modulename": "snuba_sdk", "qualname": "Entity.__init__", "kind": "function", "doc": "

\n", "signature": "(\tname: str,\talias: Union[str, NoneType] = None,\tsample: Union[float, NoneType] = None,\tdata_model: Union[snuba_sdk.schema.EntityModel, NoneType] = None)"}, "snuba_sdk.Entity.name": {"fullname": "snuba_sdk.Entity.name", "modulename": "snuba_sdk", "qualname": "Entity.name", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Entity.alias": {"fullname": "snuba_sdk.Entity.alias", "modulename": "snuba_sdk", "qualname": "Entity.alias", "kind": "variable", "doc": "

\n", "annotation": ": Union[str, NoneType]", "default_value": "None"}, "snuba_sdk.Entity.sample": {"fullname": "snuba_sdk.Entity.sample", "modulename": "snuba_sdk", "qualname": "Entity.sample", "kind": "variable", "doc": "

\n", "annotation": ": Union[float, NoneType]", "default_value": "None"}, "snuba_sdk.Entity.data_model": {"fullname": "snuba_sdk.Entity.data_model", "modulename": "snuba_sdk", "qualname": "Entity.data_model", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.schema.EntityModel, NoneType]", "default_value": "None"}, "snuba_sdk.Entity.validate": {"fullname": "snuba_sdk.Entity.validate", "modulename": "snuba_sdk", "qualname": "Entity.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Flags": {"fullname": "snuba_sdk.Flags", "modulename": "snuba_sdk", "qualname": "Flags", "kind": "class", "doc": "

\n"}, "snuba_sdk.Flags.__init__": {"fullname": "snuba_sdk.Flags.__init__", "modulename": "snuba_sdk", "qualname": "Flags.__init__", "kind": "function", "doc": "

\n", "signature": "(\ttotals: 'bool | None' = None,\tconsistent: 'bool | None' = None,\tturbo: 'bool | None' = None,\tdebug: 'bool | None' = None,\tdry_run: 'bool | None' = None,\tlegacy: 'bool | None' = None)"}, "snuba_sdk.Flags.totals": {"fullname": "snuba_sdk.Flags.totals", "modulename": "snuba_sdk", "qualname": "Flags.totals", "kind": "variable", "doc": "

\n", "annotation": ": 'bool | None'", "default_value": "None"}, "snuba_sdk.Flags.consistent": {"fullname": "snuba_sdk.Flags.consistent", "modulename": "snuba_sdk", "qualname": "Flags.consistent", "kind": "variable", "doc": "

\n", "annotation": ": 'bool | None'", "default_value": "None"}, "snuba_sdk.Flags.turbo": {"fullname": "snuba_sdk.Flags.turbo", "modulename": "snuba_sdk", "qualname": "Flags.turbo", "kind": "variable", "doc": "

\n", "annotation": ": 'bool | None'", "default_value": "None"}, "snuba_sdk.Flags.debug": {"fullname": "snuba_sdk.Flags.debug", "modulename": "snuba_sdk", "qualname": "Flags.debug", "kind": "variable", "doc": "

\n", "annotation": ": 'bool | None'", "default_value": "None"}, "snuba_sdk.Flags.dry_run": {"fullname": "snuba_sdk.Flags.dry_run", "modulename": "snuba_sdk", "qualname": "Flags.dry_run", "kind": "variable", "doc": "

\n", "annotation": ": 'bool | None'", "default_value": "None"}, "snuba_sdk.Flags.legacy": {"fullname": "snuba_sdk.Flags.legacy", "modulename": "snuba_sdk", "qualname": "Flags.legacy", "kind": "variable", "doc": "

\n", "annotation": ": 'bool | None'", "default_value": "None"}, "snuba_sdk.Flags.validate": {"fullname": "snuba_sdk.Flags.validate", "modulename": "snuba_sdk", "qualname": "Flags.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Flags.to_dict": {"fullname": "snuba_sdk.Flags.to_dict", "modulename": "snuba_sdk", "qualname": "Flags.to_dict", "kind": "function", "doc": "

\n", "signature": "(self) -> 'dict[str, bool]':", "funcdef": "def"}, "snuba_sdk.Formula": {"fullname": "snuba_sdk.Formula", "modulename": "snuba_sdk", "qualname": "Formula", "kind": "class", "doc": "

\n"}, "snuba_sdk.Formula.__init__": {"fullname": "snuba_sdk.Formula.__init__", "modulename": "snuba_sdk", "qualname": "Formula.__init__", "kind": "function", "doc": "

\n", "signature": "(\tfunction_name: str,\tparameters: Union[Sequence[Union[snuba_sdk.formula.Formula, snuba_sdk.timeseries.Timeseries, float, int, str]], NoneType] = None,\tfilters: Union[Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]], NoneType] = None,\tgroupby: 'Optional[list[Column | AliasedExpression]]' = None)"}, "snuba_sdk.Formula.function_name": {"fullname": "snuba_sdk.Formula.function_name", "modulename": "snuba_sdk", "qualname": "Formula.function_name", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Formula.parameters": {"fullname": "snuba_sdk.Formula.parameters", "modulename": "snuba_sdk", "qualname": "Formula.parameters", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[snuba_sdk.formula.Formula, snuba_sdk.timeseries.Timeseries, float, int, str]], NoneType]", "default_value": "None"}, "snuba_sdk.Formula.filters": {"fullname": "snuba_sdk.Formula.filters", "modulename": "snuba_sdk", "qualname": "Formula.filters", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]], NoneType]", "default_value": "None"}, "snuba_sdk.Formula.groupby": {"fullname": "snuba_sdk.Formula.groupby", "modulename": "snuba_sdk", "qualname": "Formula.groupby", "kind": "variable", "doc": "

\n", "annotation": ": 'Optional[list[Column | AliasedExpression]]'", "default_value": "None"}, "snuba_sdk.Formula.validate": {"fullname": "snuba_sdk.Formula.validate", "modulename": "snuba_sdk", "qualname": "Formula.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Formula.set_parameters": {"fullname": "snuba_sdk.Formula.set_parameters", "modulename": "snuba_sdk", "qualname": "Formula.set_parameters", "kind": "function", "doc": "

\n", "signature": "(\tself,\tparameters: Sequence[Union[snuba_sdk.formula.Formula, snuba_sdk.timeseries.Timeseries, float, int, str]]) -> snuba_sdk.formula.Formula:", "funcdef": "def"}, "snuba_sdk.Formula.set_filters": {"fullname": "snuba_sdk.Formula.set_filters", "modulename": "snuba_sdk", "qualname": "Formula.set_filters", "kind": "function", "doc": "

\n", "signature": "(self, filters: 'ConditionGroup | None') -> snuba_sdk.formula.Formula:", "funcdef": "def"}, "snuba_sdk.Formula.set_groupby": {"fullname": "snuba_sdk.Formula.set_groupby", "modulename": "snuba_sdk", "qualname": "Formula.set_groupby", "kind": "function", "doc": "

\n", "signature": "(\tself,\tgroupby: 'list[Column | AliasedExpression] | None') -> snuba_sdk.formula.Formula:", "funcdef": "def"}, "snuba_sdk.Function": {"fullname": "snuba_sdk.Function", "modulename": "snuba_sdk", "qualname": "Function", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.function.CurriedFunction"}, "snuba_sdk.Function.__init__": {"fullname": "snuba_sdk.Function.__init__", "modulename": "snuba_sdk", "qualname": "Function.__init__", "kind": "function", "doc": "

\n", "signature": "(\tfunction: str,\tparameters: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]], snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function, snuba_sdk.function.Identifier, snuba_sdk.function.Lambda]], NoneType] = None,\talias: Union[str, NoneType] = None)"}, "snuba_sdk.Function.initializers": {"fullname": "snuba_sdk.Function.initializers", "modulename": "snuba_sdk", "qualname": "Function.initializers", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, snuba_sdk.column.Column]], NoneType]", "default_value": "None"}, "snuba_sdk.Granularity": {"fullname": "snuba_sdk.Granularity", "modulename": "snuba_sdk", "qualname": "Granularity", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Granularity.__init__": {"fullname": "snuba_sdk.Granularity.__init__", "modulename": "snuba_sdk", "qualname": "Granularity.__init__", "kind": "function", "doc": "

\n", "signature": "(granularity: int)"}, "snuba_sdk.Granularity.granularity": {"fullname": "snuba_sdk.Granularity.granularity", "modulename": "snuba_sdk", "qualname": "Granularity.granularity", "kind": "variable", "doc": "

\n", "annotation": ": int"}, "snuba_sdk.Granularity.validate": {"fullname": "snuba_sdk.Granularity.validate", "modulename": "snuba_sdk", "qualname": "Granularity.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Identifier": {"fullname": "snuba_sdk.Identifier", "modulename": "snuba_sdk", "qualname": "Identifier", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Identifier.__init__": {"fullname": "snuba_sdk.Identifier.__init__", "modulename": "snuba_sdk", "qualname": "Identifier.__init__", "kind": "function", "doc": "

\n", "signature": "(name: str)"}, "snuba_sdk.Identifier.name": {"fullname": "snuba_sdk.Identifier.name", "modulename": "snuba_sdk", "qualname": "Identifier.name", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Identifier.validate": {"fullname": "snuba_sdk.Identifier.validate", "modulename": "snuba_sdk", "qualname": "Identifier.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Join": {"fullname": "snuba_sdk.Join", "modulename": "snuba_sdk", "qualname": "Join", "kind": "class", "doc": "

A collection of relationships that is used in the MATCH section of\nthe SnQL query. Must contain at least one Relationship, and will make\nsure that Entity aliases are not used by different Entities.

\n\n
Parameters
\n\n
    \n
  • relationships: The relationships in the join.
  • \n
\n\n
Raises
\n\n
    \n
  • InvalidExpressionError: If two different Entities are using\nthe same alias, this will be raised.
  • \n
\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Join.__init__": {"fullname": "snuba_sdk.Join.__init__", "modulename": "snuba_sdk", "qualname": "Join.__init__", "kind": "function", "doc": "

\n", "signature": "(relationships: Sequence[snuba_sdk.relationships.Relationship])"}, "snuba_sdk.Join.relationships": {"fullname": "snuba_sdk.Join.relationships", "modulename": "snuba_sdk", "qualname": "Join.relationships", "kind": "variable", "doc": "

\n", "annotation": ": Sequence[snuba_sdk.relationships.Relationship]"}, "snuba_sdk.Join.get_alias_mappings": {"fullname": "snuba_sdk.Join.get_alias_mappings", "modulename": "snuba_sdk", "qualname": "Join.get_alias_mappings", "kind": "function", "doc": "

\n", "signature": "(self) -> 'set[tuple[str, str]]':", "funcdef": "def"}, "snuba_sdk.Join.get_entities": {"fullname": "snuba_sdk.Join.get_entities", "modulename": "snuba_sdk", "qualname": "Join.get_entities", "kind": "function", "doc": "

\n", "signature": "(self) -> 'set[Entity]':", "funcdef": "def"}, "snuba_sdk.Join.validate": {"fullname": "snuba_sdk.Join.validate", "modulename": "snuba_sdk", "qualname": "Join.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Lambda": {"fullname": "snuba_sdk.Lambda", "modulename": "snuba_sdk", "qualname": "Lambda", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Lambda.__init__": {"fullname": "snuba_sdk.Lambda.__init__", "modulename": "snuba_sdk", "qualname": "Lambda.__init__", "kind": "function", "doc": "

\n", "signature": "(\tidentifiers: Sequence[str],\ttransformation: snuba_sdk.function.CurriedFunction)"}, "snuba_sdk.Lambda.identifiers": {"fullname": "snuba_sdk.Lambda.identifiers", "modulename": "snuba_sdk", "qualname": "Lambda.identifiers", "kind": "variable", "doc": "

\n", "annotation": ": Sequence[str]"}, "snuba_sdk.Lambda.transformation": {"fullname": "snuba_sdk.Lambda.transformation", "modulename": "snuba_sdk", "qualname": "Lambda.transformation", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.function.CurriedFunction"}, "snuba_sdk.Lambda.validate": {"fullname": "snuba_sdk.Lambda.validate", "modulename": "snuba_sdk", "qualname": "Lambda.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Limit": {"fullname": "snuba_sdk.Limit", "modulename": "snuba_sdk", "qualname": "Limit", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Limit.__init__": {"fullname": "snuba_sdk.Limit.__init__", "modulename": "snuba_sdk", "qualname": "Limit.__init__", "kind": "function", "doc": "

\n", "signature": "(limit: int)"}, "snuba_sdk.Limit.limit": {"fullname": "snuba_sdk.Limit.limit", "modulename": "snuba_sdk", "qualname": "Limit.limit", "kind": "variable", "doc": "

\n", "annotation": ": int"}, "snuba_sdk.Limit.validate": {"fullname": "snuba_sdk.Limit.validate", "modulename": "snuba_sdk", "qualname": "Limit.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.LimitBy": {"fullname": "snuba_sdk.LimitBy", "modulename": "snuba_sdk", "qualname": "LimitBy", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.LimitBy.__init__": {"fullname": "snuba_sdk.LimitBy.__init__", "modulename": "snuba_sdk", "qualname": "LimitBy.__init__", "kind": "function", "doc": "

\n", "signature": "(columns: Sequence[snuba_sdk.column.Column], count: int)"}, "snuba_sdk.LimitBy.columns": {"fullname": "snuba_sdk.LimitBy.columns", "modulename": "snuba_sdk", "qualname": "LimitBy.columns", "kind": "variable", "doc": "

\n", "annotation": ": Sequence[snuba_sdk.column.Column]"}, "snuba_sdk.LimitBy.count": {"fullname": "snuba_sdk.LimitBy.count", "modulename": "snuba_sdk", "qualname": "LimitBy.count", "kind": "variable", "doc": "

\n", "annotation": ": int"}, "snuba_sdk.LimitBy.validate": {"fullname": "snuba_sdk.LimitBy.validate", "modulename": "snuba_sdk", "qualname": "LimitBy.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Metric": {"fullname": "snuba_sdk.Metric", "modulename": "snuba_sdk", "qualname": "Metric", "kind": "class", "doc": "

Metric represents a raw metric that is being populated. It can be created with\none of public name, mri or raw ID.

\n"}, "snuba_sdk.Metric.__init__": {"fullname": "snuba_sdk.Metric.__init__", "modulename": "snuba_sdk", "qualname": "Metric.__init__", "kind": "function", "doc": "

\n", "signature": "(\tpublic_name: 'str | None' = None,\tmri: 'str | None' = None,\tid: 'int | None' = None,\tentity: 'str | None' = None)"}, "snuba_sdk.Metric.public_name": {"fullname": "snuba_sdk.Metric.public_name", "modulename": "snuba_sdk", "qualname": "Metric.public_name", "kind": "variable", "doc": "

\n", "annotation": ": 'str | None'", "default_value": "None"}, "snuba_sdk.Metric.mri": {"fullname": "snuba_sdk.Metric.mri", "modulename": "snuba_sdk", "qualname": "Metric.mri", "kind": "variable", "doc": "

\n", "annotation": ": 'str | None'", "default_value": "None"}, "snuba_sdk.Metric.id": {"fullname": "snuba_sdk.Metric.id", "modulename": "snuba_sdk", "qualname": "Metric.id", "kind": "variable", "doc": "

\n", "annotation": ": 'int | None'", "default_value": "None"}, "snuba_sdk.Metric.entity": {"fullname": "snuba_sdk.Metric.entity", "modulename": "snuba_sdk", "qualname": "Metric.entity", "kind": "variable", "doc": "

\n", "annotation": ": 'str | None'", "default_value": "None"}, "snuba_sdk.Metric.get_fields": {"fullname": "snuba_sdk.Metric.get_fields", "modulename": "snuba_sdk", "qualname": "Metric.get_fields", "kind": "function", "doc": "

\n", "signature": "(self) -> Sequence[str]:", "funcdef": "def"}, "snuba_sdk.Metric.validate": {"fullname": "snuba_sdk.Metric.validate", "modulename": "snuba_sdk", "qualname": "Metric.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Metric.set_mri": {"fullname": "snuba_sdk.Metric.set_mri", "modulename": "snuba_sdk", "qualname": "Metric.set_mri", "kind": "function", "doc": "

\n", "signature": "(self, mri: str) -> snuba_sdk.timeseries.Metric:", "funcdef": "def"}, "snuba_sdk.Metric.set_public_name": {"fullname": "snuba_sdk.Metric.set_public_name", "modulename": "snuba_sdk", "qualname": "Metric.set_public_name", "kind": "function", "doc": "

\n", "signature": "(self, public_name: str) -> snuba_sdk.timeseries.Metric:", "funcdef": "def"}, "snuba_sdk.Metric.set_id": {"fullname": "snuba_sdk.Metric.set_id", "modulename": "snuba_sdk", "qualname": "Metric.set_id", "kind": "function", "doc": "

\n", "signature": "(self, id: int) -> snuba_sdk.timeseries.Metric:", "funcdef": "def"}, "snuba_sdk.Metric.set_entity": {"fullname": "snuba_sdk.Metric.set_entity", "modulename": "snuba_sdk", "qualname": "Metric.set_entity", "kind": "function", "doc": "

\n", "signature": "(self, entity: str) -> snuba_sdk.timeseries.Metric:", "funcdef": "def"}, "snuba_sdk.MetricsQuery": {"fullname": "snuba_sdk.MetricsQuery", "modulename": "snuba_sdk", "qualname": "MetricsQuery", "kind": "class", "doc": "

A query on a set of timeseries. This class gets translated into a Snuba request string\nthat returns a list of timeseries data. In order to allow this class to be built incrementally,\nit is not validated until it is serialized. Any specified filters or groupby fields are pushed\ndown to each of the Timeseries in the query field. It is immutable, so any set functions return\na new copy of the query, which also allows chaining calls.

\n\n

This class is distinct from the Query class to allow for more specific validation and to provide\na simpler syntax for writing timeseries queries, which have fewer available features.

\n", "bases": "snuba_sdk.query.BaseQuery"}, "snuba_sdk.MetricsQuery.__init__": {"fullname": "snuba_sdk.MetricsQuery.__init__", "modulename": "snuba_sdk", "qualname": "MetricsQuery.__init__", "kind": "function", "doc": "

\n", "signature": "(\tquery: 'Timeseries | Formula | None' = None,\tstart: 'datetime | None' = None,\tend: 'datetime | None' = None,\trollup: 'Rollup | None' = None,\tscope: 'MetricsScope | None' = None,\tlimit: 'Limit | None' = None,\toffset: 'Offset | None' = None,\tindexer_mappings: 'dict[str, str | int] | None' = None)"}, "snuba_sdk.MetricsQuery.query": {"fullname": "snuba_sdk.MetricsQuery.query", "modulename": "snuba_sdk", "qualname": "MetricsQuery.query", "kind": "variable", "doc": "

\n", "annotation": ": 'Timeseries | Formula | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.start": {"fullname": "snuba_sdk.MetricsQuery.start", "modulename": "snuba_sdk", "qualname": "MetricsQuery.start", "kind": "variable", "doc": "

\n", "annotation": ": 'datetime | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.end": {"fullname": "snuba_sdk.MetricsQuery.end", "modulename": "snuba_sdk", "qualname": "MetricsQuery.end", "kind": "variable", "doc": "

\n", "annotation": ": 'datetime | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.rollup": {"fullname": "snuba_sdk.MetricsQuery.rollup", "modulename": "snuba_sdk", "qualname": "MetricsQuery.rollup", "kind": "variable", "doc": "

\n", "annotation": ": 'Rollup | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.scope": {"fullname": "snuba_sdk.MetricsQuery.scope", "modulename": "snuba_sdk", "qualname": "MetricsQuery.scope", "kind": "variable", "doc": "

\n", "annotation": ": 'MetricsScope | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.limit": {"fullname": "snuba_sdk.MetricsQuery.limit", "modulename": "snuba_sdk", "qualname": "MetricsQuery.limit", "kind": "variable", "doc": "

\n", "annotation": ": 'Limit | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.offset": {"fullname": "snuba_sdk.MetricsQuery.offset", "modulename": "snuba_sdk", "qualname": "MetricsQuery.offset", "kind": "variable", "doc": "

\n", "annotation": ": 'Offset | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.indexer_mappings": {"fullname": "snuba_sdk.MetricsQuery.indexer_mappings", "modulename": "snuba_sdk", "qualname": "MetricsQuery.indexer_mappings", "kind": "variable", "doc": "

\n", "annotation": ": 'dict[str, str | int] | None'", "default_value": "None"}, "snuba_sdk.MetricsQuery.set_query": {"fullname": "snuba_sdk.MetricsQuery.set_query", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_query", "kind": "function", "doc": "

\n", "signature": "(\tself,\tquery: 'Formula | Timeseries') -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.set_start": {"fullname": "snuba_sdk.MetricsQuery.set_start", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_start", "kind": "function", "doc": "

\n", "signature": "(self, start: datetime.datetime) -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.set_end": {"fullname": "snuba_sdk.MetricsQuery.set_end", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_end", "kind": "function", "doc": "

\n", "signature": "(self, end: datetime.datetime) -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.set_rollup": {"fullname": "snuba_sdk.MetricsQuery.set_rollup", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_rollup", "kind": "function", "doc": "

\n", "signature": "(\tself,\trollup: snuba_sdk.timeseries.Rollup) -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.set_scope": {"fullname": "snuba_sdk.MetricsQuery.set_scope", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_scope", "kind": "function", "doc": "

\n", "signature": "(\tself,\tscope: snuba_sdk.timeseries.MetricsScope) -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.set_limit": {"fullname": "snuba_sdk.MetricsQuery.set_limit", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_limit", "kind": "function", "doc": "

\n", "signature": "(self, limit: int) -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.set_offset": {"fullname": "snuba_sdk.MetricsQuery.set_offset", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_offset", "kind": "function", "doc": "

\n", "signature": "(self, offset: int) -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"fullname": "snuba_sdk.MetricsQuery.set_indexer_mappings", "modulename": "snuba_sdk", "qualname": "MetricsQuery.set_indexer_mappings", "kind": "function", "doc": "

\n", "signature": "(\tself,\tindexer_mappings: 'dict[str, str | int]') -> snuba_sdk.metrics_query.MetricsQuery:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.validate": {"fullname": "snuba_sdk.MetricsQuery.validate", "modulename": "snuba_sdk", "qualname": "MetricsQuery.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.serialize": {"fullname": "snuba_sdk.MetricsQuery.serialize", "modulename": "snuba_sdk", "qualname": "MetricsQuery.serialize", "kind": "function", "doc": "

\n", "signature": "(self) -> str:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.print": {"fullname": "snuba_sdk.MetricsQuery.print", "modulename": "snuba_sdk", "qualname": "MetricsQuery.print", "kind": "function", "doc": "

\n", "signature": "(self) -> str:", "funcdef": "def"}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"fullname": "snuba_sdk.MetricsQuery.serialize_to_mql", "modulename": "snuba_sdk", "qualname": "MetricsQuery.serialize_to_mql", "kind": "function", "doc": "

\n", "signature": "(self) -> 'dict[str, str | dict[str, Any]]':", "funcdef": "def"}, "snuba_sdk.MetricsScope": {"fullname": "snuba_sdk.MetricsScope", "modulename": "snuba_sdk", "qualname": "MetricsScope", "kind": "class", "doc": "

This contains all the meta information necessary to resolve a metric and to safely query\nthe metrics dataset. All these values get automatically added to the query conditions.\nThe idea of this class is to contain all the filter values that are not represented by\ntags in the API.

\n\n

use_case_id is treated separately since it can be derived separate from the MRIs of the\nmetrics in the outer query.

\n"}, "snuba_sdk.MetricsScope.__init__": {"fullname": "snuba_sdk.MetricsScope.__init__", "modulename": "snuba_sdk", "qualname": "MetricsScope.__init__", "kind": "function", "doc": "

\n", "signature": "(\torg_ids: 'list[int]',\tproject_ids: 'list[int]',\tuse_case_id: 'str | None' = None)"}, "snuba_sdk.MetricsScope.org_ids": {"fullname": "snuba_sdk.MetricsScope.org_ids", "modulename": "snuba_sdk", "qualname": "MetricsScope.org_ids", "kind": "variable", "doc": "

\n", "annotation": ": 'list[int]'"}, "snuba_sdk.MetricsScope.project_ids": {"fullname": "snuba_sdk.MetricsScope.project_ids", "modulename": "snuba_sdk", "qualname": "MetricsScope.project_ids", "kind": "variable", "doc": "

\n", "annotation": ": 'list[int]'"}, "snuba_sdk.MetricsScope.use_case_id": {"fullname": "snuba_sdk.MetricsScope.use_case_id", "modulename": "snuba_sdk", "qualname": "MetricsScope.use_case_id", "kind": "variable", "doc": "

\n", "annotation": ": 'str | None'", "default_value": "None"}, "snuba_sdk.MetricsScope.validate": {"fullname": "snuba_sdk.MetricsScope.validate", "modulename": "snuba_sdk", "qualname": "MetricsScope.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.MetricsScope.set_use_case_id": {"fullname": "snuba_sdk.MetricsScope.set_use_case_id", "modulename": "snuba_sdk", "qualname": "MetricsScope.set_use_case_id", "kind": "function", "doc": "

\n", "signature": "(self, use_case_id: str) -> snuba_sdk.timeseries.MetricsScope:", "funcdef": "def"}, "snuba_sdk.MQLContext": {"fullname": "snuba_sdk.MQLContext", "modulename": "snuba_sdk", "qualname": "MQLContext", "kind": "variable", "doc": "

\n"}, "snuba_sdk.Offset": {"fullname": "snuba_sdk.Offset", "modulename": "snuba_sdk", "qualname": "Offset", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Offset.__init__": {"fullname": "snuba_sdk.Offset.__init__", "modulename": "snuba_sdk", "qualname": "Offset.__init__", "kind": "function", "doc": "

\n", "signature": "(offset: int)"}, "snuba_sdk.Offset.offset": {"fullname": "snuba_sdk.Offset.offset", "modulename": "snuba_sdk", "qualname": "Offset.offset", "kind": "variable", "doc": "

\n", "annotation": ": int"}, "snuba_sdk.Offset.validate": {"fullname": "snuba_sdk.Offset.validate", "modulename": "snuba_sdk", "qualname": "Offset.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Op": {"fullname": "snuba_sdk.Op", "modulename": "snuba_sdk", "qualname": "Op", "kind": "class", "doc": "

An enumeration.

\n", "bases": "enum.Enum"}, "snuba_sdk.Op.GT": {"fullname": "snuba_sdk.Op.GT", "modulename": "snuba_sdk", "qualname": "Op.GT", "kind": "variable", "doc": "

\n", "default_value": "<Op.GT: '>'>"}, "snuba_sdk.Op.LT": {"fullname": "snuba_sdk.Op.LT", "modulename": "snuba_sdk", "qualname": "Op.LT", "kind": "variable", "doc": "

\n", "default_value": "<Op.LT: '<'>"}, "snuba_sdk.Op.GTE": {"fullname": "snuba_sdk.Op.GTE", "modulename": "snuba_sdk", "qualname": "Op.GTE", "kind": "variable", "doc": "

\n", "default_value": "<Op.GTE: '>='>"}, "snuba_sdk.Op.LTE": {"fullname": "snuba_sdk.Op.LTE", "modulename": "snuba_sdk", "qualname": "Op.LTE", "kind": "variable", "doc": "

\n", "default_value": "<Op.LTE: '<='>"}, "snuba_sdk.Op.EQ": {"fullname": "snuba_sdk.Op.EQ", "modulename": "snuba_sdk", "qualname": "Op.EQ", "kind": "variable", "doc": "

\n", "default_value": "<Op.EQ: '='>"}, "snuba_sdk.Op.NEQ": {"fullname": "snuba_sdk.Op.NEQ", "modulename": "snuba_sdk", "qualname": "Op.NEQ", "kind": "variable", "doc": "

\n", "default_value": "<Op.NEQ: '!='>"}, "snuba_sdk.Op.IN": {"fullname": "snuba_sdk.Op.IN", "modulename": "snuba_sdk", "qualname": "Op.IN", "kind": "variable", "doc": "

\n", "default_value": "<Op.IN: 'IN'>"}, "snuba_sdk.Op.NOT_IN": {"fullname": "snuba_sdk.Op.NOT_IN", "modulename": "snuba_sdk", "qualname": "Op.NOT_IN", "kind": "variable", "doc": "

\n", "default_value": "<Op.NOT_IN: 'NOT IN'>"}, "snuba_sdk.Op.LIKE": {"fullname": "snuba_sdk.Op.LIKE", "modulename": "snuba_sdk", "qualname": "Op.LIKE", "kind": "variable", "doc": "

\n", "default_value": "<Op.LIKE: 'LIKE'>"}, "snuba_sdk.Op.NOT_LIKE": {"fullname": "snuba_sdk.Op.NOT_LIKE", "modulename": "snuba_sdk", "qualname": "Op.NOT_LIKE", "kind": "variable", "doc": "

\n", "default_value": "<Op.NOT_LIKE: 'NOT LIKE'>"}, "snuba_sdk.Op.IS_NULL": {"fullname": "snuba_sdk.Op.IS_NULL", "modulename": "snuba_sdk", "qualname": "Op.IS_NULL", "kind": "variable", "doc": "

\n", "default_value": "<Op.IS_NULL: 'IS NULL'>"}, "snuba_sdk.Op.IS_NOT_NULL": {"fullname": "snuba_sdk.Op.IS_NOT_NULL", "modulename": "snuba_sdk", "qualname": "Op.IS_NOT_NULL", "kind": "variable", "doc": "

\n", "default_value": "<Op.IS_NOT_NULL: 'IS NOT NULL'>"}, "snuba_sdk.Op.NOT": {"fullname": "snuba_sdk.Op.NOT", "modulename": "snuba_sdk", "qualname": "Op.NOT", "kind": "variable", "doc": "

\n", "default_value": "<Op.NOT: '!'>"}, "snuba_sdk.Or": {"fullname": "snuba_sdk.Or", "modulename": "snuba_sdk", "qualname": "Or", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.conditions.BooleanCondition"}, "snuba_sdk.Or.__init__": {"fullname": "snuba_sdk.Or.__init__", "modulename": "snuba_sdk", "qualname": "Or.__init__", "kind": "function", "doc": "

\n", "signature": "(\tconditions: Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]] = <factory>)"}, "snuba_sdk.Or.op": {"fullname": "snuba_sdk.Or.op", "modulename": "snuba_sdk", "qualname": "Or.op", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.conditions.BooleanOp", "default_value": "<BooleanOp.OR: 'OR'>"}, "snuba_sdk.Or.conditions": {"fullname": "snuba_sdk.Or.conditions", "modulename": "snuba_sdk", "qualname": "Or.conditions", "kind": "variable", "doc": "

\n", "annotation": ": Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]]"}, "snuba_sdk.OrderBy": {"fullname": "snuba_sdk.OrderBy", "modulename": "snuba_sdk", "qualname": "OrderBy", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.OrderBy.__init__": {"fullname": "snuba_sdk.OrderBy.__init__", "modulename": "snuba_sdk", "qualname": "OrderBy.__init__", "kind": "function", "doc": "

\n", "signature": "(\texp: Union[snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function],\tdirection: snuba_sdk.orderby.Direction)"}, "snuba_sdk.OrderBy.exp": {"fullname": "snuba_sdk.OrderBy.exp", "modulename": "snuba_sdk", "qualname": "OrderBy.exp", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]"}, "snuba_sdk.OrderBy.direction": {"fullname": "snuba_sdk.OrderBy.direction", "modulename": "snuba_sdk", "qualname": "OrderBy.direction", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.orderby.Direction"}, "snuba_sdk.OrderBy.validate": {"fullname": "snuba_sdk.OrderBy.validate", "modulename": "snuba_sdk", "qualname": "OrderBy.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Query": {"fullname": "snuba_sdk.Query", "modulename": "snuba_sdk", "qualname": "Query", "kind": "class", "doc": "

A code representation of a SnQL query. It is immutable, so any set functions\nreturn a new copy of the query. Unlike Expressions it is possible to\ninstantiate a Query that is invalid. Any of the translation functions will\nvalidate the query before translating them, so the query must be valid before\nthey are called.

\n", "bases": "snuba_sdk.query.BaseQuery"}, "snuba_sdk.Query.__init__": {"fullname": "snuba_sdk.Query.__init__", "modulename": "snuba_sdk", "qualname": "Query.__init__", "kind": "function", "doc": "

\n", "signature": "(\tmatch: Union[snuba_sdk.entity.Entity, snuba_sdk.relationships.Join, snuba_sdk.query.Query],\tselect: Union[Sequence[Union[snuba_sdk.aliased_expression.AliasedExpression, snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]], NoneType] = None,\tgroupby: Union[Sequence[Union[snuba_sdk.aliased_expression.AliasedExpression, snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]], NoneType] = None,\tarray_join: Union[Sequence[snuba_sdk.column.Column], NoneType] = None,\twhere: Union[Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]], NoneType] = None,\thaving: Union[Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]], NoneType] = None,\torderby: Union[Sequence[snuba_sdk.orderby.OrderBy], NoneType] = None,\tlimitby: Union[snuba_sdk.orderby.LimitBy, NoneType] = None,\tlimit: Union[snuba_sdk.expressions.Limit, NoneType] = None,\toffset: Union[snuba_sdk.expressions.Offset, NoneType] = None,\tgranularity: Union[snuba_sdk.expressions.Granularity, NoneType] = None,\ttotals: Union[snuba_sdk.expressions.Totals, NoneType] = None)"}, "snuba_sdk.Query.match": {"fullname": "snuba_sdk.Query.match", "modulename": "snuba_sdk", "qualname": "Query.match", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.entity.Entity, snuba_sdk.relationships.Join, snuba_sdk.query.Query]"}, "snuba_sdk.Query.select": {"fullname": "snuba_sdk.Query.select", "modulename": "snuba_sdk", "qualname": "Query.select", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[snuba_sdk.aliased_expression.AliasedExpression, snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]], NoneType]", "default_value": "None"}, "snuba_sdk.Query.groupby": {"fullname": "snuba_sdk.Query.groupby", "modulename": "snuba_sdk", "qualname": "Query.groupby", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[snuba_sdk.aliased_expression.AliasedExpression, snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]], NoneType]", "default_value": "None"}, "snuba_sdk.Query.array_join": {"fullname": "snuba_sdk.Query.array_join", "modulename": "snuba_sdk", "qualname": "Query.array_join", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[snuba_sdk.column.Column], NoneType]", "default_value": "None"}, "snuba_sdk.Query.where": {"fullname": "snuba_sdk.Query.where", "modulename": "snuba_sdk", "qualname": "Query.where", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]], NoneType]", "default_value": "None"}, "snuba_sdk.Query.having": {"fullname": "snuba_sdk.Query.having", "modulename": "snuba_sdk", "qualname": "Query.having", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]], NoneType]", "default_value": "None"}, "snuba_sdk.Query.orderby": {"fullname": "snuba_sdk.Query.orderby", "modulename": "snuba_sdk", "qualname": "Query.orderby", "kind": "variable", "doc": "

\n", "annotation": ": Union[Sequence[snuba_sdk.orderby.OrderBy], NoneType]", "default_value": "None"}, "snuba_sdk.Query.limitby": {"fullname": "snuba_sdk.Query.limitby", "modulename": "snuba_sdk", "qualname": "Query.limitby", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.orderby.LimitBy, NoneType]", "default_value": "None"}, "snuba_sdk.Query.limit": {"fullname": "snuba_sdk.Query.limit", "modulename": "snuba_sdk", "qualname": "Query.limit", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.expressions.Limit, NoneType]", "default_value": "None"}, "snuba_sdk.Query.offset": {"fullname": "snuba_sdk.Query.offset", "modulename": "snuba_sdk", "qualname": "Query.offset", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.expressions.Offset, NoneType]", "default_value": "None"}, "snuba_sdk.Query.granularity": {"fullname": "snuba_sdk.Query.granularity", "modulename": "snuba_sdk", "qualname": "Query.granularity", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.expressions.Granularity, NoneType]", "default_value": "None"}, "snuba_sdk.Query.totals": {"fullname": "snuba_sdk.Query.totals", "modulename": "snuba_sdk", "qualname": "Query.totals", "kind": "variable", "doc": "

\n", "annotation": ": Union[snuba_sdk.expressions.Totals, NoneType]", "default_value": "None"}, "snuba_sdk.Query.set_match": {"fullname": "snuba_sdk.Query.set_match", "modulename": "snuba_sdk", "qualname": "Query.set_match", "kind": "function", "doc": "

\n", "signature": "(\tself,\tmatch: Union[snuba_sdk.entity.Entity, snuba_sdk.relationships.Join, snuba_sdk.query.Query]) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_select": {"fullname": "snuba_sdk.Query.set_select", "modulename": "snuba_sdk", "qualname": "Query.set_select", "kind": "function", "doc": "

\n", "signature": "(\tself,\tselect: Sequence[Union[snuba_sdk.aliased_expression.AliasedExpression, snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]]) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_groupby": {"fullname": "snuba_sdk.Query.set_groupby", "modulename": "snuba_sdk", "qualname": "Query.set_groupby", "kind": "function", "doc": "

\n", "signature": "(\tself,\tgroupby: Sequence[Union[snuba_sdk.aliased_expression.AliasedExpression, snuba_sdk.column.Column, snuba_sdk.function.CurriedFunction, snuba_sdk.function.Function]]) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_array_join": {"fullname": "snuba_sdk.Query.set_array_join", "modulename": "snuba_sdk", "qualname": "Query.set_array_join", "kind": "function", "doc": "

\n", "signature": "(\tself,\tarray_join: Sequence[snuba_sdk.column.Column]) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_where": {"fullname": "snuba_sdk.Query.set_where", "modulename": "snuba_sdk", "qualname": "Query.set_where", "kind": "function", "doc": "

\n", "signature": "(\tself,\tconditions: Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]]) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_having": {"fullname": "snuba_sdk.Query.set_having", "modulename": "snuba_sdk", "qualname": "Query.set_having", "kind": "function", "doc": "

\n", "signature": "(\tself,\tconditions: Sequence[Union[snuba_sdk.conditions.BooleanCondition, snuba_sdk.conditions.Condition]]) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_orderby": {"fullname": "snuba_sdk.Query.set_orderby", "modulename": "snuba_sdk", "qualname": "Query.set_orderby", "kind": "function", "doc": "

\n", "signature": "(\tself,\torderby: Sequence[snuba_sdk.orderby.OrderBy]) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_limitby": {"fullname": "snuba_sdk.Query.set_limitby", "modulename": "snuba_sdk", "qualname": "Query.set_limitby", "kind": "function", "doc": "

\n", "signature": "(self, limitby: snuba_sdk.orderby.LimitBy) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_limit": {"fullname": "snuba_sdk.Query.set_limit", "modulename": "snuba_sdk", "qualname": "Query.set_limit", "kind": "function", "doc": "

\n", "signature": "(self, limit: int) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_offset": {"fullname": "snuba_sdk.Query.set_offset", "modulename": "snuba_sdk", "qualname": "Query.set_offset", "kind": "function", "doc": "

\n", "signature": "(self, offset: int) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_granularity": {"fullname": "snuba_sdk.Query.set_granularity", "modulename": "snuba_sdk", "qualname": "Query.set_granularity", "kind": "function", "doc": "

\n", "signature": "(self, granularity: int) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.set_totals": {"fullname": "snuba_sdk.Query.set_totals", "modulename": "snuba_sdk", "qualname": "Query.set_totals", "kind": "function", "doc": "

\n", "signature": "(self, totals: bool) -> snuba_sdk.query.Query:", "funcdef": "def"}, "snuba_sdk.Query.validate": {"fullname": "snuba_sdk.Query.validate", "modulename": "snuba_sdk", "qualname": "Query.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Query.serialize": {"fullname": "snuba_sdk.Query.serialize", "modulename": "snuba_sdk", "qualname": "Query.serialize", "kind": "function", "doc": "

\n", "signature": "(self) -> str:", "funcdef": "def"}, "snuba_sdk.Query.print": {"fullname": "snuba_sdk.Query.print", "modulename": "snuba_sdk", "qualname": "Query.print", "kind": "function", "doc": "

\n", "signature": "(self) -> str:", "funcdef": "def"}, "snuba_sdk.Relationship": {"fullname": "snuba_sdk.Relationship", "modulename": "snuba_sdk", "qualname": "Relationship", "kind": "class", "doc": "

A representation of a relationship between two Entities. The relationship\nname should be defined in the data model of the LHS and entity in Snuba.\nBoth Entities must have a valid alias, which will be used to qualify the\ncolumns in the SnQL query.

\n\n
Parameters
\n\n
    \n
  • lhs: The Entity that owns the relationship.
  • \n
  • name: The name of the relationship on the LHS Entity.
  • \n
  • rhs: The Entity connected to the LHS using the relationship.
  • \n
\n\n
Raises
\n\n
    \n
  • InvalidExpressionError: If the incorrect types are used or if either\nof the Entities does not have an alias.
  • \n
\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Relationship.__init__": {"fullname": "snuba_sdk.Relationship.__init__", "modulename": "snuba_sdk", "qualname": "Relationship.__init__", "kind": "function", "doc": "

\n", "signature": "(\tlhs: snuba_sdk.entity.Entity,\tname: str,\trhs: snuba_sdk.entity.Entity)"}, "snuba_sdk.Relationship.lhs": {"fullname": "snuba_sdk.Relationship.lhs", "modulename": "snuba_sdk", "qualname": "Relationship.lhs", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.entity.Entity"}, "snuba_sdk.Relationship.name": {"fullname": "snuba_sdk.Relationship.name", "modulename": "snuba_sdk", "qualname": "Relationship.name", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Relationship.rhs": {"fullname": "snuba_sdk.Relationship.rhs", "modulename": "snuba_sdk", "qualname": "Relationship.rhs", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.entity.Entity"}, "snuba_sdk.Relationship.validate": {"fullname": "snuba_sdk.Relationship.validate", "modulename": "snuba_sdk", "qualname": "Relationship.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Request": {"fullname": "snuba_sdk.Request", "modulename": "snuba_sdk", "qualname": "Request", "kind": "class", "doc": "

\n"}, "snuba_sdk.Request.__init__": {"fullname": "snuba_sdk.Request.__init__", "modulename": "snuba_sdk", "qualname": "Request.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdataset: str,\tapp_id: str,\tquery: snuba_sdk.query.BaseQuery,\tflags: snuba_sdk.request.Flags = <factory>,\tparent_api: str = '<unknown>',\ttenant_ids: 'dict[str, str | int]' = <factory>)"}, "snuba_sdk.Request.dataset": {"fullname": "snuba_sdk.Request.dataset", "modulename": "snuba_sdk", "qualname": "Request.dataset", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Request.app_id": {"fullname": "snuba_sdk.Request.app_id", "modulename": "snuba_sdk", "qualname": "Request.app_id", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Request.query": {"fullname": "snuba_sdk.Request.query", "modulename": "snuba_sdk", "qualname": "Request.query", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.query.BaseQuery"}, "snuba_sdk.Request.flags": {"fullname": "snuba_sdk.Request.flags", "modulename": "snuba_sdk", "qualname": "Request.flags", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.request.Flags"}, "snuba_sdk.Request.parent_api": {"fullname": "snuba_sdk.Request.parent_api", "modulename": "snuba_sdk", "qualname": "Request.parent_api", "kind": "variable", "doc": "

\n", "annotation": ": str", "default_value": "'<unknown>'"}, "snuba_sdk.Request.tenant_ids": {"fullname": "snuba_sdk.Request.tenant_ids", "modulename": "snuba_sdk", "qualname": "Request.tenant_ids", "kind": "variable", "doc": "

\n", "annotation": ": 'dict[str, str | int]'"}, "snuba_sdk.Request.validate": {"fullname": "snuba_sdk.Request.validate", "modulename": "snuba_sdk", "qualname": "Request.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Request.to_dict": {"fullname": "snuba_sdk.Request.to_dict", "modulename": "snuba_sdk", "qualname": "Request.to_dict", "kind": "function", "doc": "

\n", "signature": "(self, mql: bool = False) -> 'dict[str, bool | str | dict[str, Any]]':", "funcdef": "def"}, "snuba_sdk.Request.serialize": {"fullname": "snuba_sdk.Request.serialize", "modulename": "snuba_sdk", "qualname": "Request.serialize", "kind": "function", "doc": "

\n", "signature": "(self) -> str:", "funcdef": "def"}, "snuba_sdk.Request.serialize_mql": {"fullname": "snuba_sdk.Request.serialize_mql", "modulename": "snuba_sdk", "qualname": "Request.serialize_mql", "kind": "function", "doc": "

\n", "signature": "(self) -> str:", "funcdef": "def"}, "snuba_sdk.Request.print": {"fullname": "snuba_sdk.Request.print", "modulename": "snuba_sdk", "qualname": "Request.print", "kind": "function", "doc": "

\n", "signature": "(self, mql: bool = False) -> str:", "funcdef": "def"}, "snuba_sdk.Rollup": {"fullname": "snuba_sdk.Rollup", "modulename": "snuba_sdk", "qualname": "Rollup", "kind": "class", "doc": "

Rollup instructs how the timeseries queries should be grouped on time. If the query is for a set of timeseries, then\nthe interval field should be specified. It is the number of seconds to group the timeseries by.\nFor a query that returns only the totals, specify Totals(True). A totals query can be ordered using the orderby field.\nIf totals is set to True and the interval is specified, then an extra row will be returned in the result with the totals\nfor the timeseries.

\n"}, "snuba_sdk.Rollup.__init__": {"fullname": "snuba_sdk.Rollup.__init__", "modulename": "snuba_sdk", "qualname": "Rollup.__init__", "kind": "function", "doc": "

\n", "signature": "(\tinterval: 'int | None' = None,\ttotals: 'bool | None' = None,\torderby: 'Direction | None' = None,\tgranularity: 'int | None' = None)"}, "snuba_sdk.Rollup.interval": {"fullname": "snuba_sdk.Rollup.interval", "modulename": "snuba_sdk", "qualname": "Rollup.interval", "kind": "variable", "doc": "

\n", "annotation": ": 'int | None'", "default_value": "None"}, "snuba_sdk.Rollup.totals": {"fullname": "snuba_sdk.Rollup.totals", "modulename": "snuba_sdk", "qualname": "Rollup.totals", "kind": "variable", "doc": "

\n", "annotation": ": 'bool | None'", "default_value": "None"}, "snuba_sdk.Rollup.orderby": {"fullname": "snuba_sdk.Rollup.orderby", "modulename": "snuba_sdk", "qualname": "Rollup.orderby", "kind": "variable", "doc": "

\n", "annotation": ": 'Direction | None'", "default_value": "None"}, "snuba_sdk.Rollup.granularity": {"fullname": "snuba_sdk.Rollup.granularity", "modulename": "snuba_sdk", "qualname": "Rollup.granularity", "kind": "variable", "doc": "

\n", "annotation": ": 'int | None'", "default_value": "None"}, "snuba_sdk.Rollup.validate": {"fullname": "snuba_sdk.Rollup.validate", "modulename": "snuba_sdk", "qualname": "Rollup.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Timeseries": {"fullname": "snuba_sdk.Timeseries", "modulename": "snuba_sdk", "qualname": "Timeseries", "kind": "class", "doc": "

A code representation of a single timeseries. This is the basic unit of a metrics query.\nA raw metric, aggregated by an aggregate function. It can be filtered by tag conditions.\nIt can also grouped by a set of tag values, which will return one timeseries for each unique\ngrouping of tag values.

\n"}, "snuba_sdk.Timeseries.__init__": {"fullname": "snuba_sdk.Timeseries.__init__", "modulename": "snuba_sdk", "qualname": "Timeseries.__init__", "kind": "function", "doc": "

\n", "signature": "(\tmetric: snuba_sdk.timeseries.Metric,\taggregate: str,\taggregate_params: 'list[Any] | None' = None,\tfilters: 'ConditionGroup | None' = None,\tgroupby: 'list[Column | AliasedExpression] | None' = None)"}, "snuba_sdk.Timeseries.metric": {"fullname": "snuba_sdk.Timeseries.metric", "modulename": "snuba_sdk", "qualname": "Timeseries.metric", "kind": "variable", "doc": "

\n", "annotation": ": snuba_sdk.timeseries.Metric"}, "snuba_sdk.Timeseries.aggregate": {"fullname": "snuba_sdk.Timeseries.aggregate", "modulename": "snuba_sdk", "qualname": "Timeseries.aggregate", "kind": "variable", "doc": "

\n", "annotation": ": str"}, "snuba_sdk.Timeseries.aggregate_params": {"fullname": "snuba_sdk.Timeseries.aggregate_params", "modulename": "snuba_sdk", "qualname": "Timeseries.aggregate_params", "kind": "variable", "doc": "

\n", "annotation": ": 'list[Any] | None'", "default_value": "None"}, "snuba_sdk.Timeseries.filters": {"fullname": "snuba_sdk.Timeseries.filters", "modulename": "snuba_sdk", "qualname": "Timeseries.filters", "kind": "variable", "doc": "

\n", "annotation": ": 'ConditionGroup | None'", "default_value": "None"}, "snuba_sdk.Timeseries.groupby": {"fullname": "snuba_sdk.Timeseries.groupby", "modulename": "snuba_sdk", "qualname": "Timeseries.groupby", "kind": "variable", "doc": "

\n", "annotation": ": 'list[Column | AliasedExpression] | None'", "default_value": "None"}, "snuba_sdk.Timeseries.get_fields": {"fullname": "snuba_sdk.Timeseries.get_fields", "modulename": "snuba_sdk", "qualname": "Timeseries.get_fields", "kind": "function", "doc": "

\n", "signature": "(self) -> Sequence[str]:", "funcdef": "def"}, "snuba_sdk.Timeseries.validate": {"fullname": "snuba_sdk.Timeseries.validate", "modulename": "snuba_sdk", "qualname": "Timeseries.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}, "snuba_sdk.Timeseries.set_metric": {"fullname": "snuba_sdk.Timeseries.set_metric", "modulename": "snuba_sdk", "qualname": "Timeseries.set_metric", "kind": "function", "doc": "

\n", "signature": "(\tself,\tmetric: snuba_sdk.timeseries.Metric) -> snuba_sdk.timeseries.Timeseries:", "funcdef": "def"}, "snuba_sdk.Timeseries.set_aggregate": {"fullname": "snuba_sdk.Timeseries.set_aggregate", "modulename": "snuba_sdk", "qualname": "Timeseries.set_aggregate", "kind": "function", "doc": "

\n", "signature": "(\tself,\taggregate: str,\taggregate_params: 'list[Any] | None' = None) -> snuba_sdk.timeseries.Timeseries:", "funcdef": "def"}, "snuba_sdk.Timeseries.set_filters": {"fullname": "snuba_sdk.Timeseries.set_filters", "modulename": "snuba_sdk", "qualname": "Timeseries.set_filters", "kind": "function", "doc": "

\n", "signature": "(\tself,\tfilters: 'ConditionGroup | None') -> snuba_sdk.timeseries.Timeseries:", "funcdef": "def"}, "snuba_sdk.Timeseries.set_groupby": {"fullname": "snuba_sdk.Timeseries.set_groupby", "modulename": "snuba_sdk", "qualname": "Timeseries.set_groupby", "kind": "function", "doc": "

\n", "signature": "(\tself,\tgroupby: 'list[Column | AliasedExpression] | None') -> snuba_sdk.timeseries.Timeseries:", "funcdef": "def"}, "snuba_sdk.Totals": {"fullname": "snuba_sdk.Totals", "modulename": "snuba_sdk", "qualname": "Totals", "kind": "class", "doc": "

\n", "bases": "snuba_sdk.expressions.Expression"}, "snuba_sdk.Totals.__init__": {"fullname": "snuba_sdk.Totals.__init__", "modulename": "snuba_sdk", "qualname": "Totals.__init__", "kind": "function", "doc": "

\n", "signature": "(totals: bool)"}, "snuba_sdk.Totals.totals": {"fullname": "snuba_sdk.Totals.totals", "modulename": "snuba_sdk", "qualname": "Totals.totals", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, "snuba_sdk.Totals.validate": {"fullname": "snuba_sdk.Totals.validate", "modulename": "snuba_sdk", "qualname": "Totals.validate", "kind": "function", "doc": "

\n", "signature": "(self) -> None:", "funcdef": "def"}}, "docInfo": {"snuba_sdk": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 1283}, "snuba_sdk.AliasedExpression": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 90}, "snuba_sdk.AliasedExpression.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "snuba_sdk.AliasedExpression.exp": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.AliasedExpression.alias": {"qualname": 2, "fullname": 4, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.AliasedExpression.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.And": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.And.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 68, "bases": 0, "doc": 3}, "snuba_sdk.And.op": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.And.conditions": {"qualname": 2, "fullname": 4, "annotation": 9, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.ArithmeticOperator": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 5}, "snuba_sdk.ArithmeticOperator.PLUS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.ArithmeticOperator.MINUS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.BooleanCondition": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.BooleanCondition.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 3}, "snuba_sdk.BooleanCondition.op": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.BooleanCondition.conditions": {"qualname": 2, "fullname": 4, "annotation": 9, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.BooleanCondition.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.BooleanOp": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 5}, "snuba_sdk.BooleanOp.AND": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.BooleanOp.OR": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Column": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 110}, "snuba_sdk.Column.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "snuba_sdk.Column.name": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Column.entity": {"qualname": 2, "fullname": 4, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Column.subscriptable": {"qualname": 2, "fullname": 4, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Column.key": {"qualname": 2, "fullname": 4, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Column.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Column.validate_data_model": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.Condition": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Condition.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 298, "bases": 0, "doc": 3}, "snuba_sdk.Condition.lhs": {"qualname": 2, "fullname": 4, "annotation": 13, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Condition.op": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Condition.rhs": {"qualname": 2, "fullname": 4, "annotation": 37, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Condition.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.CurriedFunction": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.CurriedFunction.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 410, "bases": 0, "doc": 3}, "snuba_sdk.CurriedFunction.function": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.CurriedFunction.initializers": {"qualname": 2, "fullname": 4, "annotation": 16, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.CurriedFunction.parameters": {"qualname": 2, "fullname": 4, "annotation": 46, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.CurriedFunction.alias": {"qualname": 2, "fullname": 4, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.CurriedFunction.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Direction": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 5}, "snuba_sdk.Direction.ASC": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Direction.DESC": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Entity": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Entity.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 117, "bases": 0, "doc": 3}, "snuba_sdk.Entity.name": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Entity.alias": {"qualname": 2, "fullname": 4, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Entity.sample": {"qualname": 2, "fullname": 4, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Entity.data_model": {"qualname": 3, "fullname": 5, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Entity.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Flags": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Flags.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 149, "bases": 0, "doc": 3}, "snuba_sdk.Flags.totals": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Flags.consistent": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Flags.turbo": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Flags.debug": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Flags.dry_run": {"qualname": 3, "fullname": 5, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Flags.legacy": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Flags.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Flags.to_dict": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 3}, "snuba_sdk.Formula": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Formula.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 190, "bases": 0, "doc": 3}, "snuba_sdk.Formula.function_name": {"qualname": 3, "fullname": 5, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Formula.parameters": {"qualname": 2, "fullname": 4, "annotation": 13, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Formula.filters": {"qualname": 2, "fullname": 4, "annotation": 10, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Formula.groupby": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Formula.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Formula.set_parameters": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 93, "bases": 0, "doc": 3}, "snuba_sdk.Formula.set_filters": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 3}, "snuba_sdk.Formula.set_groupby": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 3}, "snuba_sdk.Function": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Function.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 303, "bases": 0, "doc": 3}, "snuba_sdk.Function.initializers": {"qualname": 2, "fullname": 4, "annotation": 16, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Granularity": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Granularity.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Granularity.granularity": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Granularity.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Identifier": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Identifier.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Identifier.name": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Identifier.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Join": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 81}, "snuba_sdk.Join.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 3}, "snuba_sdk.Join.relationships": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Join.get_alias_mappings": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 3}, "snuba_sdk.Join.get_entities": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 3}, "snuba_sdk.Join.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Lambda": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Lambda.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 3}, "snuba_sdk.Lambda.identifiers": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Lambda.transformation": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Lambda.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Limit": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Limit.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Limit.limit": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Limit.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.LimitBy": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.LimitBy.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 3}, "snuba_sdk.LimitBy.columns": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.LimitBy.count": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.LimitBy.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Metric": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 25}, "snuba_sdk.Metric.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 101, "bases": 0, "doc": 3}, "snuba_sdk.Metric.public_name": {"qualname": 3, "fullname": 5, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Metric.mri": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Metric.id": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Metric.entity": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Metric.get_fields": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 20, "bases": 0, "doc": 3}, "snuba_sdk.Metric.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Metric.set_mri": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.Metric.set_public_name": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 3}, "snuba_sdk.Metric.set_id": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.Metric.set_entity": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 113}, "snuba_sdk.MetricsQuery.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 202, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.query": {"qualname": 2, "fullname": 4, "annotation": 9, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.start": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.end": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.rollup": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.scope": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.limit": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.offset": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.indexer_mappings": {"qualname": 3, "fullname": 5, "annotation": 10, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_query": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_start": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_end": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_rollup": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 49, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_scope": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 49, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_limit": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_offset": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.serialize": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.print": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 3}, "snuba_sdk.MetricsScope": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 77}, "snuba_sdk.MetricsScope.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 62, "bases": 0, "doc": 3}, "snuba_sdk.MetricsScope.org_ids": {"qualname": 3, "fullname": 5, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsScope.project_ids": {"qualname": 3, "fullname": 5, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsScope.use_case_id": {"qualname": 4, "fullname": 6, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.MetricsScope.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.MetricsScope.set_use_case_id": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 3}, "snuba_sdk.MQLContext": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Offset": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Offset.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Offset.offset": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Offset.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Op": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 5}, "snuba_sdk.Op.GT": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.LT": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.GTE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.LTE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.EQ": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.NEQ": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.IN": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.NOT_IN": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.LIKE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.NOT_LIKE": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.IS_NULL": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.IS_NOT_NULL": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 13, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Op.NOT": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Or": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Or.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 68, "bases": 0, "doc": 3}, "snuba_sdk.Or.op": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Or.conditions": {"qualname": 2, "fullname": 4, "annotation": 9, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.OrderBy": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.OrderBy.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 88, "bases": 0, "doc": 3}, "snuba_sdk.OrderBy.exp": {"qualname": 2, "fullname": 4, "annotation": 13, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.OrderBy.direction": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.OrderBy.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Query": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 58}, "snuba_sdk.Query.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 696, "bases": 0, "doc": 3}, "snuba_sdk.Query.match": {"qualname": 2, "fullname": 4, "annotation": 13, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.select": {"qualname": 2, "fullname": 4, "annotation": 19, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.groupby": {"qualname": 2, "fullname": 4, "annotation": 19, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.array_join": {"qualname": 3, "fullname": 5, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.where": {"qualname": 2, "fullname": 4, "annotation": 10, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.having": {"qualname": 2, "fullname": 4, "annotation": 10, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.orderby": {"qualname": 2, "fullname": 4, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.limitby": {"qualname": 2, "fullname": 4, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.limit": {"qualname": 2, "fullname": 4, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.offset": {"qualname": 2, "fullname": 4, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.granularity": {"qualname": 2, "fullname": 4, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.totals": {"qualname": 2, "fullname": 4, "annotation": 6, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_match": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 88, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_select": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 110, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_groupby": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 110, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_array_join": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 55, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_where": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_having": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_orderby": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_limitby": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_limit": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_offset": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_granularity": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.Query.set_totals": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "snuba_sdk.Query.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Query.serialize": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Query.print": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Relationship": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 126}, "snuba_sdk.Relationship.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 59, "bases": 0, "doc": 3}, "snuba_sdk.Relationship.lhs": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Relationship.name": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Relationship.rhs": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Relationship.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Request": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Request.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 145, "bases": 0, "doc": 3}, "snuba_sdk.Request.dataset": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Request.app_id": {"qualname": 3, "fullname": 5, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Request.query": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Request.flags": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Request.parent_api": {"qualname": 3, "fullname": 5, "annotation": 2, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Request.tenant_ids": {"qualname": 3, "fullname": 5, "annotation": 8, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Request.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Request.to_dict": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 3}, "snuba_sdk.Request.serialize": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Request.serialize_mql": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Request.print": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 3}, "snuba_sdk.Rollup": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 89}, "snuba_sdk.Rollup.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 100, "bases": 0, "doc": 3}, "snuba_sdk.Rollup.interval": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Rollup.totals": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Rollup.orderby": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Rollup.granularity": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Rollup.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 56}, "snuba_sdk.Timeseries.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 112, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.metric": {"qualname": 2, "fullname": 4, "annotation": 5, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.aggregate": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.aggregate_params": {"qualname": 3, "fullname": 5, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.filters": {"qualname": 2, "fullname": 4, "annotation": 7, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.groupby": {"qualname": 2, "fullname": 4, "annotation": 9, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.get_fields": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 20, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.set_metric": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.set_aggregate": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 62, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.set_filters": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 3}, "snuba_sdk.Timeseries.set_groupby": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 3}, "snuba_sdk.Totals": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "snuba_sdk.Totals.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "snuba_sdk.Totals.totals": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "snuba_sdk.Totals.validate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}}, "length": 246, "save": true}, "index": {"qualname": {"root": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}}, "df": 28, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.AliasedExpression.validate": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.And": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}}, "df": 5}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.ArithmeticOperator": {"tf": 1}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Direction.ASC": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Request.app_id": {"tf": 1}}, "df": 1}, "i": {"docs": {"snuba_sdk.Request.parent_api": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Timeseries.aggregate": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}}, "df": 3}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}}, "df": 28, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 2}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Rollup.interval": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}}, "df": 4, "s": {"docs": {"snuba_sdk.Lambda.identifiers": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"snuba_sdk.MetricsScope.org_ids": {"tf": 1}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}}, "df": 3}}, "s": {"docs": {"snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Entity.sample": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}}, "df": 10}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Join.get_entities": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {"snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}}, "df": 2}}, "q": {"docs": {"snuba_sdk.Op.EQ": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression.validate": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Rollup.validate": {"tf": 1}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 26}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Op": {"tf": 1}, "snuba_sdk.Op.GT": {"tf": 1}, "snuba_sdk.Op.LT": {"tf": 1}, "snuba_sdk.Op.GTE": {"tf": 1}, "snuba_sdk.Op.LTE": {"tf": 1}, "snuba_sdk.Op.EQ": {"tf": 1}, "snuba_sdk.Op.NEQ": {"tf": 1}, "snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}}, "df": 18}, "r": {"docs": {"snuba_sdk.BooleanOp.OR": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}}, "df": 5, "g": {"docs": {"snuba_sdk.MetricsScope.org_ids": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}, "snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}}, "df": 8}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Offset.offset": {"tf": 1.4142135623730951}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}}, "df": 8}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}}, "df": 6, "s": {"docs": {"snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}}, "df": 3}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Flags.consistent": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}}, "df": 8, "s": {"docs": {"snuba_sdk.LimitBy.columns": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.LimitBy.count": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}}, "df": 7}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}}, "df": 3}}}}}, "s": {"docs": {"snuba_sdk.Timeseries.aggregate_params": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.parent_api": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsScope.project_ids": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 3}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}}, "df": 14, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}}, "df": 22}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.org_ids": {"tf": 1}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 7}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}}, "df": 2}}, "q": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}}, "df": 2, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MQLContext": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Direction": {"tf": 1}, "snuba_sdk.Direction.ASC": {"tf": 1}, "snuba_sdk.Direction.DESC": {"tf": 1}, "snuba_sdk.OrderBy.direction": {"tf": 1}}, "df": 4}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.dataset": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Direction.DESC": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Flags.debug": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Flags.dry_run": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}}, "df": 5}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.BooleanOp": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}, "snuba_sdk.BooleanOp.OR": {"tf": 1}}, "df": 3}}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {"snuba_sdk.Op.NEQ": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}}, "df": 4}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column.subscriptable": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Entity.sample": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 32}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}}, "df": 5}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}}, "df": 2}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column.key": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Flags.legacy": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Lambda.identifiers": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}}, "df": 5}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.Limit.limit": {"tf": 1.4142135623730951}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}}, "df": 8, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.LimitBy.columns": {"tf": 1}, "snuba_sdk.LimitBy.count": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}}, "df": 7}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}}, "df": 2}}}, "t": {"docs": {"snuba_sdk.Op.LT": {"tf": 1}}, "df": 1, "e": {"docs": {"snuba_sdk.Op.LTE": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Flags.dry_run": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}}, "df": 6, "s": {"docs": {"snuba_sdk.Join.relationships": {"tf": 1}}, "df": 1}}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Request.dataset": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}}, "df": 13}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Rollup.interval": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}, "snuba_sdk.Rollup.validate": {"tf": 1}}, "df": 9}}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Function": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 5}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Flags": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Flags.consistent": {"tf": 1}, "snuba_sdk.Flags.turbo": {"tf": 1}, "snuba_sdk.Flags.debug": {"tf": 1}, "snuba_sdk.Flags.dry_run": {"tf": 1}, "snuba_sdk.Flags.legacy": {"tf": 1}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}}, "df": 11}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Formula": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}}, "df": 10}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}}, "df": 4}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}}, "df": 3, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}, "snuba_sdk.Totals.totals": {"tf": 1.4142135623730951}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 8}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk.Flags.turbo": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Lambda.transformation": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.tenant_ids": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}, "snuba_sdk.Timeseries.aggregate": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 13}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Granularity.granularity": {"tf": 1.4142135623730951}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}}, "df": 7}}}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Join.get_entities": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}}, "df": 4}}, "t": {"docs": {"snuba_sdk.Op.GT": {"tf": 1}}, "df": 1, "e": {"docs": {"snuba_sdk.Op.GTE": {"tf": 1}}, "df": 1}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Join.get_entities": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}}, "df": 8}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}}, "df": 32}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}}, "df": 2}}}}}}}}, "fullname": {"root": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}}, "df": 28, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.AliasedExpression.validate": {"tf": 1}, "snuba_sdk.And": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.ArithmeticOperator": {"tf": 1}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}, "snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}, "snuba_sdk.BooleanOp": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}, "snuba_sdk.BooleanOp.OR": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}, "snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}, "snuba_sdk.Direction": {"tf": 1}, "snuba_sdk.Direction.ASC": {"tf": 1}, "snuba_sdk.Direction.DESC": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Entity.sample": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Flags": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Flags.consistent": {"tf": 1}, "snuba_sdk.Flags.turbo": {"tf": 1}, "snuba_sdk.Flags.debug": {"tf": 1}, "snuba_sdk.Flags.dry_run": {"tf": 1}, "snuba_sdk.Flags.legacy": {"tf": 1}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Formula": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Function": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Granularity.granularity": {"tf": 1}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Join.get_entities": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Lambda.identifiers": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}, "snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.Limit.limit": {"tf": 1}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.LimitBy.columns": {"tf": 1}, "snuba_sdk.LimitBy.count": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.org_ids": {"tf": 1}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.MQLContext": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Offset.offset": {"tf": 1}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.Op": {"tf": 1}, "snuba_sdk.Op.GT": {"tf": 1}, "snuba_sdk.Op.LT": {"tf": 1}, "snuba_sdk.Op.GTE": {"tf": 1}, "snuba_sdk.Op.LTE": {"tf": 1}, "snuba_sdk.Op.EQ": {"tf": 1}, "snuba_sdk.Op.NEQ": {"tf": 1}, "snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}, "snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}, "snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}, "snuba_sdk.Request": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Request.dataset": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Rollup.interval": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}, "snuba_sdk.Rollup.validate": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}, "snuba_sdk.Timeseries.aggregate": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}, "snuba_sdk.Totals.totals": {"tf": 1}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 246}}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.AliasedExpression.validate": {"tf": 1}, "snuba_sdk.And": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.ArithmeticOperator": {"tf": 1}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}, "snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}, "snuba_sdk.BooleanOp": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}, "snuba_sdk.BooleanOp.OR": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}, "snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}, "snuba_sdk.Direction": {"tf": 1}, "snuba_sdk.Direction.ASC": {"tf": 1}, "snuba_sdk.Direction.DESC": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Entity.sample": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Flags": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Flags.consistent": {"tf": 1}, "snuba_sdk.Flags.turbo": {"tf": 1}, "snuba_sdk.Flags.debug": {"tf": 1}, "snuba_sdk.Flags.dry_run": {"tf": 1}, "snuba_sdk.Flags.legacy": {"tf": 1}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Formula": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Function": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Granularity.granularity": {"tf": 1}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Join.get_entities": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Lambda.identifiers": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}, "snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.Limit.limit": {"tf": 1}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.LimitBy.columns": {"tf": 1}, "snuba_sdk.LimitBy.count": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.org_ids": {"tf": 1}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.MQLContext": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Offset.offset": {"tf": 1}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.Op": {"tf": 1}, "snuba_sdk.Op.GT": {"tf": 1}, "snuba_sdk.Op.LT": {"tf": 1}, "snuba_sdk.Op.GTE": {"tf": 1}, "snuba_sdk.Op.LTE": {"tf": 1}, "snuba_sdk.Op.EQ": {"tf": 1}, "snuba_sdk.Op.NEQ": {"tf": 1}, "snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}, "snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}, "snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}, "snuba_sdk.Request": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Request.dataset": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Rollup.interval": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}, "snuba_sdk.Rollup.validate": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}, "snuba_sdk.Timeseries.aggregate": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}, "snuba_sdk.Totals.totals": {"tf": 1}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 246}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column.subscriptable": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Entity.sample": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 32}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}}, "df": 5}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.AliasedExpression.validate": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.And": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}}, "df": 5}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.ArithmeticOperator": {"tf": 1}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Direction.ASC": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Request.app_id": {"tf": 1}}, "df": 1}, "i": {"docs": {"snuba_sdk.Request.parent_api": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Timeseries.aggregate": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}}, "df": 3}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}}, "df": 28, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 2}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Rollup.interval": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}}, "df": 4, "s": {"docs": {"snuba_sdk.Lambda.identifiers": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"snuba_sdk.MetricsScope.org_ids": {"tf": 1}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}}, "df": 3}}, "s": {"docs": {"snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Entity.sample": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}}, "df": 10}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Join.get_entities": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {"snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}}, "df": 2}}, "q": {"docs": {"snuba_sdk.Op.EQ": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression.validate": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Rollup.validate": {"tf": 1}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 26}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Op": {"tf": 1}, "snuba_sdk.Op.GT": {"tf": 1}, "snuba_sdk.Op.LT": {"tf": 1}, "snuba_sdk.Op.GTE": {"tf": 1}, "snuba_sdk.Op.LTE": {"tf": 1}, "snuba_sdk.Op.EQ": {"tf": 1}, "snuba_sdk.Op.NEQ": {"tf": 1}, "snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}}, "df": 18}, "r": {"docs": {"snuba_sdk.BooleanOp.OR": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}}, "df": 5, "g": {"docs": {"snuba_sdk.MetricsScope.org_ids": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}, "snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}}, "df": 8}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Offset.offset": {"tf": 1.4142135623730951}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}}, "df": 8}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}}, "df": 6, "s": {"docs": {"snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}}, "df": 3}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Flags.consistent": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}}, "df": 8, "s": {"docs": {"snuba_sdk.LimitBy.columns": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.LimitBy.count": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}}, "df": 7}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}}, "df": 3}}}}}, "s": {"docs": {"snuba_sdk.Timeseries.aggregate_params": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.parent_api": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsScope.project_ids": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 3}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}}, "df": 14, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}}, "df": 22}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.org_ids": {"tf": 1}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 7}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}}, "df": 2}}, "q": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}}, "df": 2, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MQLContext": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Direction": {"tf": 1}, "snuba_sdk.Direction.ASC": {"tf": 1}, "snuba_sdk.Direction.DESC": {"tf": 1}, "snuba_sdk.OrderBy.direction": {"tf": 1}}, "df": 4}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.dataset": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Direction.DESC": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Flags.debug": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Flags.dry_run": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}}, "df": 5}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.BooleanOp": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}, "snuba_sdk.BooleanOp.OR": {"tf": 1}}, "df": 3}}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {"snuba_sdk.Op.NEQ": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}}, "df": 4}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}}, "df": 2}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column.key": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Flags.legacy": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Lambda.identifiers": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}}, "df": 5}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.Limit.limit": {"tf": 1.4142135623730951}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}}, "df": 8, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.LimitBy.columns": {"tf": 1}, "snuba_sdk.LimitBy.count": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}}, "df": 7}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}}, "df": 2}}}, "t": {"docs": {"snuba_sdk.Op.LT": {"tf": 1}}, "df": 1, "e": {"docs": {"snuba_sdk.Op.LTE": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Flags.dry_run": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}}, "df": 6, "s": {"docs": {"snuba_sdk.Join.relationships": {"tf": 1}}, "df": 1}}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Request.dataset": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}}, "df": 13}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Rollup.interval": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}, "snuba_sdk.Rollup.validate": {"tf": 1}}, "df": 9}}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Function": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 5}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Flags": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Flags.consistent": {"tf": 1}, "snuba_sdk.Flags.turbo": {"tf": 1}, "snuba_sdk.Flags.debug": {"tf": 1}, "snuba_sdk.Flags.dry_run": {"tf": 1}, "snuba_sdk.Flags.legacy": {"tf": 1}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}}, "df": 11}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Formula": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}}, "df": 10}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}}, "df": 4}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}}, "df": 3, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}, "snuba_sdk.Totals.totals": {"tf": 1.4142135623730951}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 8}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk.Flags.turbo": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Lambda.transformation": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.tenant_ids": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}, "snuba_sdk.Timeseries.aggregate": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 13}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Granularity.granularity": {"tf": 1.4142135623730951}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}}, "df": 7}}}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Join.get_entities": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}}, "df": 4}}, "t": {"docs": {"snuba_sdk.Op.GT": {"tf": 1}}, "df": 1, "e": {"docs": {"snuba_sdk.Op.GTE": {"tf": 1}}, "df": 1}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Join.get_entities": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}}, "df": 8}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}}, "df": 32}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}}, "df": 2}}}}}}}}, "annotation": {"root": {"docs": {"snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Entity.sample": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Flags.totals": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.consistent": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.turbo": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.debug": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.dry_run": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.legacy": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Granularity.granularity": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.Lambda.identifiers": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.Limit.limit": {"tf": 1}, "snuba_sdk.LimitBy.columns": {"tf": 1}, "snuba_sdk.LimitBy.count": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.mri": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.id": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.entity": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.query": {"tf": 2}, "snuba_sdk.MetricsQuery.start": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.end": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.scope": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.limit": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.offset": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 2}, "snuba_sdk.MetricsScope.org_ids": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1.7320508075688772}, "snuba_sdk.Offset.offset": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}, "snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}, "snuba_sdk.Request.dataset": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.interval": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.totals": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.orderby": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.granularity": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.metric": {"tf": 1}, "snuba_sdk.Timeseries.aggregate": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.filters": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.groupby": {"tf": 2}, "snuba_sdk.Totals.totals": {"tf": 1}}, "df": 91, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1.4142135623730951}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 2.23606797749979}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1.4142135623730951}, "snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1.4142135623730951}, "snuba_sdk.Query.select": {"tf": 1.7320508075688772}, "snuba_sdk.Query.groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}}, "df": 28}}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"snuba_sdk.AliasedExpression.exp": {"tf": 1}, "snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1.4142135623730951}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1.7320508075688772}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 2}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 2.449489742783178}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.filters": {"tf": 1.4142135623730951}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.LimitBy.columns": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1.4142135623730951}, "snuba_sdk.OrderBy.exp": {"tf": 1.7320508075688772}, "snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1.7320508075688772}, "snuba_sdk.Query.select": {"tf": 2}, "snuba_sdk.Query.groupby": {"tf": 2}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1.4142135623730951}, "snuba_sdk.Query.having": {"tf": 1.4142135623730951}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Relationship.lhs": {"tf": 1}, "snuba_sdk.Relationship.rhs": {"tf": 1}, "snuba_sdk.Request.query": {"tf": 1}, "snuba_sdk.Request.flags": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}}, "df": 39}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}}, "df": 5}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.LimitBy.columns": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Lambda.identifiers": {"tf": 1}}, "df": 1}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Column.name": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.function": {"tf": 1}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Entity.name": {"tf": 1}, "snuba_sdk.Formula.function_name": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Identifier.name": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.Relationship.name": {"tf": 1}, "snuba_sdk.Request.dataset": {"tf": 1}, "snuba_sdk.Request.app_id": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}, "snuba_sdk.Timeseries.aggregate": {"tf": 1}}, "df": 21}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Entity.data_model": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.AliasedExpression.exp": {"tf": 1.4142135623730951}, "snuba_sdk.Condition.lhs": {"tf": 1.4142135623730951}, "snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Function.initializers": {"tf": 1.4142135623730951}, "snuba_sdk.LimitBy.columns": {"tf": 1.4142135623730951}, "snuba_sdk.OrderBy.exp": {"tf": 1.4142135623730951}, "snuba_sdk.Query.select": {"tf": 1.4142135623730951}, "snuba_sdk.Query.groupby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.array_join": {"tf": 1.4142135623730951}}, "df": 11}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}}, "df": 6, "s": {"docs": {"snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.And.conditions": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1.4142135623730951}, "snuba_sdk.Condition.op": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1.4142135623730951}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1.4142135623730951}, "snuba_sdk.Query.where": {"tf": 1.4142135623730951}, "snuba_sdk.Query.having": {"tf": 1.4142135623730951}}, "df": 10}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Timeseries.filters": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}}, "df": 7}}}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}}, "df": 5}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Condition.lhs": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}}, "df": 11}}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 3}}}}}}}}, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}}, "df": 6}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Entity.sample": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Flags.consistent": {"tf": 1}, "snuba_sdk.Flags.turbo": {"tf": 1}, "snuba_sdk.Flags.debug": {"tf": 1}, "snuba_sdk.Flags.dry_run": {"tf": 1}, "snuba_sdk.Flags.legacy": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.Rollup.interval": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}}, "df": 26, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Entity.sample": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}}, "df": 25}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Flags.consistent": {"tf": 1}, "snuba_sdk.Flags.turbo": {"tf": 1}, "snuba_sdk.Flags.debug": {"tf": 1}, "snuba_sdk.Flags.dry_run": {"tf": 1}, "snuba_sdk.Flags.legacy": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Totals.totals": {"tf": 1}}, "df": 12, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.BooleanCondition.op": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}}, "df": 3}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.And.conditions": {"tf": 1}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Or.conditions": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Request.query": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column.entity": {"tf": 1.4142135623730951}, "snuba_sdk.Query.match": {"tf": 1.4142135623730951}, "snuba_sdk.Relationship.lhs": {"tf": 1.4142135623730951}, "snuba_sdk.Relationship.rhs": {"tf": 1.4142135623730951}}, "df": 4, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Entity.data_model": {"tf": 1}}, "df": 1}}}}}}}}}}, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}}, "df": 4, "s": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}}, "df": 6}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition.lhs": {"tf": 1.7320508075688772}, "snuba_sdk.Condition.rhs": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.parameters": {"tf": 2.23606797749979}, "snuba_sdk.Lambda.transformation": {"tf": 1}, "snuba_sdk.OrderBy.exp": {"tf": 1.7320508075688772}, "snuba_sdk.Query.select": {"tf": 1.7320508075688772}, "snuba_sdk.Query.groupby": {"tf": 1.7320508075688772}}, "df": 7}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 5}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Request.flags": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Formula.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.query": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Condition.op": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Formula.groupby": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.limitby": {"tf": 1}}, "df": 3}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Granularity.granularity": {"tf": 1}, "snuba_sdk.Limit.limit": {"tf": 1}, "snuba_sdk.LimitBy.count": {"tf": 1}, "snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.Offset.offset": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}, "snuba_sdk.Rollup.interval": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}}, "df": 14}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.CurriedFunction.parameters": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Function.initializers": {"tf": 1}}, "df": 4, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Condition.rhs": {"tf": 2.449489742783178}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.parameters": {"tf": 2.449489742783178}, "snuba_sdk.Function.initializers": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.end": {"tf": 1}}, "df": 6}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.Request.tenant_ids": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.OrderBy.direction": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}}, "df": 2}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.CurriedFunction.parameters": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}}, "df": 2, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Query.limitby": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsScope.org_ids": {"tf": 1}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Timeseries.aggregate_params": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Timeseries.groupby": {"tf": 1}}, "df": 1}}}}}}}}}}}, "x": {"2": {"7": {"docs": {"snuba_sdk.Flags.totals": {"tf": 1.4142135623730951}, "snuba_sdk.Flags.consistent": {"tf": 1.4142135623730951}, "snuba_sdk.Flags.turbo": {"tf": 1.4142135623730951}, "snuba_sdk.Flags.debug": {"tf": 1.4142135623730951}, "snuba_sdk.Flags.dry_run": {"tf": 1.4142135623730951}, "snuba_sdk.Flags.legacy": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.groupby": {"tf": 1.4142135623730951}, "snuba_sdk.Metric.public_name": {"tf": 1.4142135623730951}, "snuba_sdk.Metric.mri": {"tf": 1.4142135623730951}, "snuba_sdk.Metric.id": {"tf": 1.4142135623730951}, "snuba_sdk.Metric.entity": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.query": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.start": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.end": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.scope": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.limit": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.offset": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope.org_ids": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1.4142135623730951}, "snuba_sdk.Request.tenant_ids": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup.interval": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup.totals": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup.orderby": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup.granularity": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.filters": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.groupby": {"tf": 1.4142135623730951}}, "df": 30}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Formula.parameters": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.Timeseries.metric": {"tf": 1}}, "df": 3}}}}}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Query.totals": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Join.relationships": {"tf": 1}}, "df": 1, "s": {"docs": {"snuba_sdk.Join.relationships": {"tf": 1}, "snuba_sdk.Query.match": {"tf": 1}}, "df": 2}}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.flags": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.MetricsQuery.rollup": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Timeseries.metric": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery.scope": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Query.match": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Query.match": {"tf": 1.4142135623730951}, "snuba_sdk.Request.query": {"tf": 1}}, "df": 2}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Query.granularity": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "default_value": {"root": {"docs": {"snuba_sdk.And.op": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanOp.AND": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanOp.OR": {"tf": 1.4142135623730951}, "snuba_sdk.Direction.ASC": {"tf": 1.4142135623730951}, "snuba_sdk.Direction.DESC": {"tf": 1.4142135623730951}, "snuba_sdk.Op.GT": {"tf": 1.4142135623730951}, "snuba_sdk.Op.LT": {"tf": 1.4142135623730951}, "snuba_sdk.Op.GTE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.LTE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.EQ": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NEQ": {"tf": 1.7320508075688772}, "snuba_sdk.Op.IN": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT_IN": {"tf": 1.4142135623730951}, "snuba_sdk.Op.LIKE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IS_NULL": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT": {"tf": 1.7320508075688772}, "snuba_sdk.Or.op": {"tf": 1.4142135623730951}, "snuba_sdk.Request.parent_api": {"tf": 1.4142135623730951}}, "df": 24, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression.alias": {"tf": 1}, "snuba_sdk.Column.entity": {"tf": 1}, "snuba_sdk.Column.subscriptable": {"tf": 1}, "snuba_sdk.Column.key": {"tf": 1}, "snuba_sdk.Condition.rhs": {"tf": 1}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1}, "snuba_sdk.CurriedFunction.alias": {"tf": 1}, "snuba_sdk.Entity.alias": {"tf": 1}, "snuba_sdk.Entity.sample": {"tf": 1}, "snuba_sdk.Entity.data_model": {"tf": 1}, "snuba_sdk.Flags.totals": {"tf": 1}, "snuba_sdk.Flags.consistent": {"tf": 1}, "snuba_sdk.Flags.turbo": {"tf": 1}, "snuba_sdk.Flags.debug": {"tf": 1}, "snuba_sdk.Flags.dry_run": {"tf": 1}, "snuba_sdk.Flags.legacy": {"tf": 1}, "snuba_sdk.Formula.parameters": {"tf": 1}, "snuba_sdk.Formula.filters": {"tf": 1}, "snuba_sdk.Formula.groupby": {"tf": 1}, "snuba_sdk.Function.initializers": {"tf": 1}, "snuba_sdk.Metric.public_name": {"tf": 1}, "snuba_sdk.Metric.mri": {"tf": 1}, "snuba_sdk.Metric.id": {"tf": 1}, "snuba_sdk.Metric.entity": {"tf": 1}, "snuba_sdk.MetricsQuery.query": {"tf": 1}, "snuba_sdk.MetricsQuery.start": {"tf": 1}, "snuba_sdk.MetricsQuery.end": {"tf": 1}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.scope": {"tf": 1}, "snuba_sdk.MetricsQuery.limit": {"tf": 1}, "snuba_sdk.MetricsQuery.offset": {"tf": 1}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1}, "snuba_sdk.Query.select": {"tf": 1}, "snuba_sdk.Query.groupby": {"tf": 1}, "snuba_sdk.Query.array_join": {"tf": 1}, "snuba_sdk.Query.where": {"tf": 1}, "snuba_sdk.Query.having": {"tf": 1}, "snuba_sdk.Query.orderby": {"tf": 1}, "snuba_sdk.Query.limitby": {"tf": 1}, "snuba_sdk.Query.limit": {"tf": 1}, "snuba_sdk.Query.offset": {"tf": 1}, "snuba_sdk.Query.granularity": {"tf": 1}, "snuba_sdk.Query.totals": {"tf": 1}, "snuba_sdk.Rollup.interval": {"tf": 1}, "snuba_sdk.Rollup.totals": {"tf": 1}, "snuba_sdk.Rollup.orderby": {"tf": 1}, "snuba_sdk.Rollup.granularity": {"tf": 1}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1}, "snuba_sdk.Timeseries.filters": {"tf": 1}, "snuba_sdk.Timeseries.groupby": {"tf": 1}}, "df": 52}}, "t": {"docs": {"snuba_sdk.Op.NOT_IN": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT": {"tf": 1}}, "df": 4}}, "e": {"docs": {}, "df": 0, "q": {"docs": {"snuba_sdk.Op.NEQ": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Op.IS_NULL": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1.4142135623730951}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}, "snuba_sdk.BooleanOp.OR": {"tf": 1}, "snuba_sdk.Direction.ASC": {"tf": 1}, "snuba_sdk.Direction.DESC": {"tf": 1}, "snuba_sdk.Op.GT": {"tf": 1}, "snuba_sdk.Op.LT": {"tf": 1.7320508075688772}, "snuba_sdk.Op.GTE": {"tf": 1}, "snuba_sdk.Op.LTE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.EQ": {"tf": 1}, "snuba_sdk.Op.NEQ": {"tf": 1}, "snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}}, "df": 24, "e": {"docs": {"snuba_sdk.Op.LTE": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Op.LIKE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1.4142135623730951}}, "df": 2}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}, "snuba_sdk.BooleanOp.OR": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}}, "df": 4}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.And.op": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanOp.AND": {"tf": 1.4142135623730951}}, "df": 2}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Direction.ASC": {"tf": 1.4142135623730951}}, "df": 1}}}, "x": {"2": {"7": {"docs": {"snuba_sdk.And.op": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1.4142135623730951}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanOp.AND": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanOp.OR": {"tf": 1.4142135623730951}, "snuba_sdk.Direction.ASC": {"tf": 1.4142135623730951}, "snuba_sdk.Direction.DESC": {"tf": 1.4142135623730951}, "snuba_sdk.Op.GT": {"tf": 1.4142135623730951}, "snuba_sdk.Op.LT": {"tf": 1.4142135623730951}, "snuba_sdk.Op.GTE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.LTE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.EQ": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NEQ": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IN": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT_IN": {"tf": 1.4142135623730951}, "snuba_sdk.Op.LIKE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IS_NULL": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT": {"tf": 1.4142135623730951}, "snuba_sdk.Or.op": {"tf": 1.4142135623730951}, "snuba_sdk.Request.parent_api": {"tf": 1.4142135623730951}}, "df": 24}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "g": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.And.op": {"tf": 1}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1}, "snuba_sdk.BooleanOp.AND": {"tf": 1}, "snuba_sdk.BooleanOp.OR": {"tf": 1}, "snuba_sdk.Direction.ASC": {"tf": 1}, "snuba_sdk.Direction.DESC": {"tf": 1}, "snuba_sdk.Op.GT": {"tf": 1.7320508075688772}, "snuba_sdk.Op.LT": {"tf": 1}, "snuba_sdk.Op.GTE": {"tf": 1.4142135623730951}, "snuba_sdk.Op.LTE": {"tf": 1}, "snuba_sdk.Op.EQ": {"tf": 1}, "snuba_sdk.Op.NEQ": {"tf": 1}, "snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}, "snuba_sdk.Or.op": {"tf": 1}, "snuba_sdk.Request.parent_api": {"tf": 1}}, "df": 24, "e": {"docs": {"snuba_sdk.Op.GTE": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1.4142135623730951}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1.4142135623730951}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1.4142135623730951}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Direction.ASC": {"tf": 1}, "snuba_sdk.Direction.DESC": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Direction.DESC": {"tf": 1.4142135623730951}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.BooleanOp.OR": {"tf": 1.4142135623730951}, "snuba_sdk.Or.op": {"tf": 1.4142135623730951}}, "df": 2}, "p": {"docs": {"snuba_sdk.Op.GT": {"tf": 1}, "snuba_sdk.Op.LT": {"tf": 1}, "snuba_sdk.Op.GTE": {"tf": 1}, "snuba_sdk.Op.LTE": {"tf": 1}, "snuba_sdk.Op.EQ": {"tf": 1}, "snuba_sdk.Op.NEQ": {"tf": 1}, "snuba_sdk.Op.IN": {"tf": 1}, "snuba_sdk.Op.NOT_IN": {"tf": 1}, "snuba_sdk.Op.LIKE": {"tf": 1}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1}, "snuba_sdk.Op.IS_NULL": {"tf": 1}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1}, "snuba_sdk.Op.NOT": {"tf": 1}}, "df": 13}}, "e": {"docs": {}, "df": 0, "q": {"docs": {"snuba_sdk.Op.EQ": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Op.IN": {"tf": 1.4142135623730951}, "snuba_sdk.Op.NOT_IN": {"tf": 1.4142135623730951}}, "df": 2}, "s": {"docs": {"snuba_sdk.Op.IS_NULL": {"tf": 1.4142135623730951}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1.4142135623730951}}, "df": 2}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Request.parent_api": {"tf": 1}}, "df": 1}}}}}}}}}, "signature": {"root": {"3": {"9": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 3.4641016151377544}, "snuba_sdk.Flags.to_dict": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.set_filters": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.set_groupby": {"tf": 1.4142135623730951}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1.4142135623730951}, "snuba_sdk.Join.get_entities": {"tf": 1.4142135623730951}, "snuba_sdk.Metric.__init__": {"tf": 2.8284271247461903}, "snuba_sdk.MetricsQuery.__init__": {"tf": 4}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Request.__init__": {"tf": 2}, "snuba_sdk.Request.to_dict": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup.__init__": {"tf": 2.8284271247461903}, "snuba_sdk.Timeseries.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_filters": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1.4142135623730951}}, "df": 20}, "docs": {}, "df": 0}, "docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 6.6332495807108}, "snuba_sdk.AliasedExpression.validate": {"tf": 3.4641016151377544}, "snuba_sdk.And.__init__": {"tf": 7.3484692283495345}, "snuba_sdk.BooleanCondition.__init__": {"tf": 7.681145747868608}, "snuba_sdk.BooleanCondition.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Column.__init__": {"tf": 6.6332495807108}, "snuba_sdk.Column.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Column.validate_data_model": {"tf": 5.291502622129181}, "snuba_sdk.Condition.__init__": {"tf": 15.427248620541512}, "snuba_sdk.Condition.validate": {"tf": 3.4641016151377544}, "snuba_sdk.CurriedFunction.__init__": {"tf": 18.193405398660254}, "snuba_sdk.CurriedFunction.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Entity.__init__": {"tf": 9.797958971132712}, "snuba_sdk.Entity.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Flags.__init__": {"tf": 10.583005244258363}, "snuba_sdk.Flags.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Flags.to_dict": {"tf": 3.7416573867739413}, "snuba_sdk.Formula.__init__": {"tf": 12.24744871391589}, "snuba_sdk.Formula.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Formula.set_parameters": {"tf": 8.602325267042627}, "snuba_sdk.Formula.set_filters": {"tf": 5.5677643628300215}, "snuba_sdk.Formula.set_groupby": {"tf": 5.830951894845301}, "snuba_sdk.Function.__init__": {"tf": 15.620499351813308}, "snuba_sdk.Granularity.__init__": {"tf": 3.4641016151377544}, "snuba_sdk.Granularity.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Identifier.__init__": {"tf": 3.4641016151377544}, "snuba_sdk.Identifier.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Join.__init__": {"tf": 5}, "snuba_sdk.Join.get_alias_mappings": {"tf": 3.7416573867739413}, "snuba_sdk.Join.get_entities": {"tf": 3.7416573867739413}, "snuba_sdk.Join.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Lambda.__init__": {"tf": 5.916079783099616}, "snuba_sdk.Lambda.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Limit.__init__": {"tf": 3.4641016151377544}, "snuba_sdk.Limit.validate": {"tf": 3.4641016151377544}, "snuba_sdk.LimitBy.__init__": {"tf": 5.744562646538029}, "snuba_sdk.LimitBy.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Metric.__init__": {"tf": 8.717797887081348}, "snuba_sdk.Metric.get_fields": {"tf": 4.123105625617661}, "snuba_sdk.Metric.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Metric.set_mri": {"tf": 5.291502622129181}, "snuba_sdk.Metric.set_public_name": {"tf": 5.291502622129181}, "snuba_sdk.Metric.set_id": {"tf": 5.291502622129181}, "snuba_sdk.Metric.set_entity": {"tf": 5.291502622129181}, "snuba_sdk.MetricsQuery.__init__": {"tf": 12.24744871391589}, "snuba_sdk.MetricsQuery.set_query": {"tf": 5.744562646538029}, "snuba_sdk.MetricsQuery.set_start": {"tf": 5.656854249492381}, "snuba_sdk.MetricsQuery.set_end": {"tf": 5.656854249492381}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 6.164414002968976}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 6.164414002968976}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 5.291502622129181}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 5.291502622129181}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 5.744562646538029}, "snuba_sdk.MetricsQuery.validate": {"tf": 3.4641016151377544}, "snuba_sdk.MetricsQuery.serialize": {"tf": 3.4641016151377544}, "snuba_sdk.MetricsQuery.print": {"tf": 3.4641016151377544}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 3.872983346207417}, "snuba_sdk.MetricsScope.__init__": {"tf": 6.6332495807108}, "snuba_sdk.MetricsScope.validate": {"tf": 3.4641016151377544}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 5.291502622129181}, "snuba_sdk.Offset.__init__": {"tf": 3.4641016151377544}, "snuba_sdk.Offset.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Or.__init__": {"tf": 7.3484692283495345}, "snuba_sdk.OrderBy.__init__": {"tf": 8.306623862918075}, "snuba_sdk.OrderBy.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Query.__init__": {"tf": 23.430749027719962}, "snuba_sdk.Query.set_match": {"tf": 8.306623862918075}, "snuba_sdk.Query.set_select": {"tf": 9.219544457292887}, "snuba_sdk.Query.set_groupby": {"tf": 9.219544457292887}, "snuba_sdk.Query.set_array_join": {"tf": 6.557438524302}, "snuba_sdk.Query.set_where": {"tf": 7.681145747868608}, "snuba_sdk.Query.set_having": {"tf": 7.681145747868608}, "snuba_sdk.Query.set_orderby": {"tf": 6.557438524302}, "snuba_sdk.Query.set_limitby": {"tf": 6}, "snuba_sdk.Query.set_limit": {"tf": 5.291502622129181}, "snuba_sdk.Query.set_offset": {"tf": 5.291502622129181}, "snuba_sdk.Query.set_granularity": {"tf": 5.291502622129181}, "snuba_sdk.Query.set_totals": {"tf": 5.291502622129181}, "snuba_sdk.Query.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Query.serialize": {"tf": 3.4641016151377544}, "snuba_sdk.Query.print": {"tf": 3.4641016151377544}, "snuba_sdk.Relationship.__init__": {"tf": 6.855654600401044}, "snuba_sdk.Relationship.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Request.__init__": {"tf": 10.44030650891055}, "snuba_sdk.Request.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Request.to_dict": {"tf": 5.477225575051661}, "snuba_sdk.Request.serialize": {"tf": 3.4641016151377544}, "snuba_sdk.Request.serialize_mql": {"tf": 3.4641016151377544}, "snuba_sdk.Request.print": {"tf": 5.0990195135927845}, "snuba_sdk.Rollup.__init__": {"tf": 8.717797887081348}, "snuba_sdk.Rollup.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Timeseries.__init__": {"tf": 9.219544457292887}, "snuba_sdk.Timeseries.get_fields": {"tf": 4.123105625617661}, "snuba_sdk.Timeseries.validate": {"tf": 3.4641016151377544}, "snuba_sdk.Timeseries.set_metric": {"tf": 6.164414002968976}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 6.928203230275509}, "snuba_sdk.Timeseries.set_filters": {"tf": 5.744562646538029}, "snuba_sdk.Timeseries.set_groupby": {"tf": 5.830951894845301}, "snuba_sdk.Totals.__init__": {"tf": 3.4641016151377544}, "snuba_sdk.Totals.validate": {"tf": 3.4641016151377544}}, "df": 100, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}}, "df": 6, "s": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 2}}, "df": 4}}}}}}}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Column.validate_data_model": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_match": {"tf": 1.4142135623730951}, "snuba_sdk.Relationship.__init__": {"tf": 2}}, "df": 7, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Entity.__init__": {"tf": 1}}, "df": 1}}}}}}}}}, "d": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 2.8284271247461903}, "snuba_sdk.CurriedFunction.__init__": {"tf": 2.6457513110645907}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 2}, "snuba_sdk.Formula.set_parameters": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.OrderBy.__init__": {"tf": 2}, "snuba_sdk.Query.__init__": {"tf": 4.69041575982343}, "snuba_sdk.Query.set_match": {"tf": 2}, "snuba_sdk.Query.set_select": {"tf": 2.23606797749979}, "snuba_sdk.Query.set_groupby": {"tf": 2.23606797749979}, "snuba_sdk.Query.set_array_join": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_where": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_having": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_orderby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limitby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Request.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 51}}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 2.8284271247461903}, "snuba_sdk.CurriedFunction.__init__": {"tf": 2.6457513110645907}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 2}, "snuba_sdk.Formula.set_parameters": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.OrderBy.__init__": {"tf": 2}, "snuba_sdk.Query.__init__": {"tf": 4.69041575982343}, "snuba_sdk.Query.set_match": {"tf": 2}, "snuba_sdk.Query.set_select": {"tf": 2.23606797749979}, "snuba_sdk.Query.set_groupby": {"tf": 2.23606797749979}, "snuba_sdk.Query.set_array_join": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_where": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_having": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_orderby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limitby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Request.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 51}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 2.23606797749979}, "snuba_sdk.Entity.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 2}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 2}, "snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}}, "df": 34}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"snuba_sdk.AliasedExpression.validate": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1}, "snuba_sdk.Join.get_entities": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize": {"tf": 1}, "snuba_sdk.MetricsQuery.print": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Query.serialize": {"tf": 1}, "snuba_sdk.Query.print": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.serialize": {"tf": 1}, "snuba_sdk.Request.serialize_mql": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}, "snuba_sdk.Rollup.validate": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 72}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}}, "df": 2}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Join.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.get_fields": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}, "snuba_sdk.Query.set_orderby": {"tf": 1}, "snuba_sdk.Timeseries.get_fields": {"tf": 1}}, "df": 20}}}}}}, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Join.get_alias_mappings": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Join.get_entities": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Entity.__init__": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Entity.__init__": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Condition.__init__": {"tf": 2}, "snuba_sdk.CurriedFunction.__init__": {"tf": 2}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.LimitBy.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.OrderBy.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Query.set_select": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_groupby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_array_join": {"tf": 1.4142135623730951}}, "df": 10, "s": {"docs": {"snuba_sdk.LimitBy.__init__": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}}, "df": 7, "s": {"docs": {"snuba_sdk.And.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanCondition.__init__": {"tf": 2}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Or.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Query.__init__": {"tf": 2}, "snuba_sdk.Query.set_where": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_having": {"tf": 1.7320508075688772}}, "df": 8}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}}, "df": 3}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.LimitBy.__init__": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}}, "df": 8}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 7}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}, "i": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Timeseries.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Entity.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.__init__": {"tf": 2}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 2}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 4}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_select": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}}, "df": 18}}}, "k": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 2}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.AliasedExpression.validate": {"tf": 1}, "snuba_sdk.BooleanCondition.validate": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Column.validate": {"tf": 1}, "snuba_sdk.Column.validate_data_model": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Condition.validate": {"tf": 1}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.validate": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.validate": {"tf": 1}, "snuba_sdk.Flags.__init__": {"tf": 3.4641016151377544}, "snuba_sdk.Flags.validate": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.validate": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Granularity.validate": {"tf": 1}, "snuba_sdk.Identifier.validate": {"tf": 1}, "snuba_sdk.Join.validate": {"tf": 1}, "snuba_sdk.Lambda.validate": {"tf": 1}, "snuba_sdk.Limit.validate": {"tf": 1}, "snuba_sdk.LimitBy.validate": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 2.8284271247461903}, "snuba_sdk.Metric.validate": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 4}, "snuba_sdk.MetricsQuery.validate": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope.validate": {"tf": 1}, "snuba_sdk.Offset.validate": {"tf": 1}, "snuba_sdk.OrderBy.validate": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 3.3166247903554}, "snuba_sdk.Query.validate": {"tf": 1}, "snuba_sdk.Relationship.validate": {"tf": 1}, "snuba_sdk.Request.validate": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 2.8284271247461903}, "snuba_sdk.Rollup.validate": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Timeseries.validate": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}, "snuba_sdk.Totals.validate": {"tf": 1}}, "df": 45, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression.__init__": {"tf": 1}, "snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Entity.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Function.__init__": {"tf": 2}, "snuba_sdk.Query.__init__": {"tf": 3.3166247903554}}, "df": 8}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column.__init__": {"tf": 1}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Identifier.__init__": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}}, "df": 7}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1.4142135623730951}, "snuba_sdk.Request.print": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}}, "df": 10, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_where": {"tf": 1}, "snuba_sdk.Query.set_having": {"tf": 1}}, "df": 7}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.BooleanCondition.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1.7320508075688772}}, "df": 3}, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 3}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsScope.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limit": {"tf": 1}}, "df": 5, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limitby": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 2.449489742783178}, "snuba_sdk.CurriedFunction.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Lambda.__init__": {"tf": 1}, "snuba_sdk.OrderBy.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Query.__init__": {"tf": 2.449489742783178}, "snuba_sdk.Query.set_select": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_groupby": {"tf": 1.7320508075688772}}, "df": 9}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}}, "df": 6}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Formula.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.set_parameters": {"tf": 2}, "snuba_sdk.Formula.set_filters": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.set_groupby": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}}, "df": 6}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.set_filters": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_filters": {"tf": 1}}, "df": 4}}}}}}}, "g": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.And.__init__": {"tf": 1}, "snuba_sdk.Or.__init__": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1.7320508075688772}}, "df": 3}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.set_groupby": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.set_groupby": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}}, "df": 4}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.BooleanCondition.__init__": {"tf": 1}, "snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}}, "df": 2, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Formula.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_offset": {"tf": 1}}, "df": 5}}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.MetricsScope.__init__": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.OrderBy.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 2}, "snuba_sdk.Query.set_orderby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_limitby": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}}, "df": 5}}}}}}}, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1}, "snuba_sdk.Relationship.__init__": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Join.__init__": {"tf": 1}}, "df": 1, "s": {"docs": {"snuba_sdk.Join.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}}, "df": 3}}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Granularity.__init__": {"tf": 1}, "snuba_sdk.Limit.__init__": {"tf": 1}, "snuba_sdk.LimitBy.__init__": {"tf": 1}, "snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.Offset.__init__": {"tf": 1}, "snuba_sdk.Query.set_limit": {"tf": 1}, "snuba_sdk.Query.set_offset": {"tf": 1}, "snuba_sdk.Query.set_granularity": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1.4142135623730951}}, "df": 20, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Rollup.__init__": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.CurriedFunction.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {"snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.MetricsScope.__init__": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Request.__init__": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}}, "df": 2, "s": {"docs": {"snuba_sdk.Lambda.__init__": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"snuba_sdk.MetricsScope.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Request.__init__": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Function.__init__": {"tf": 1.4142135623730951}}, "df": 3, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Condition.__init__": {"tf": 2.449489742783178}, "snuba_sdk.CurriedFunction.__init__": {"tf": 3}, "snuba_sdk.Function.__init__": {"tf": 2.449489742783178}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1.4142135623730951}}, "df": 6}}}}}, "a": {"docs": {"snuba_sdk.Entity.__init__": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Flags.to_dict": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1.4142135623730951}, "snuba_sdk.Request.__init__": {"tf": 1}, "snuba_sdk.Request.to_dict": {"tf": 1.4142135623730951}}, "df": 6}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.OrderBy.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup.__init__": {"tf": 1}}, "df": 2}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.CurriedFunction.__init__": {"tf": 1}, "snuba_sdk.Formula.__init__": {"tf": 1}, "snuba_sdk.Formula.set_parameters": {"tf": 1}, "snuba_sdk.Function.__init__": {"tf": 1}}, "df": 4}}}}}, "s": {"docs": {"snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsScope.__init__": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Entity.__init__": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"snuba_sdk.Metric.__init__": {"tf": 1}, "snuba_sdk.Metric.set_mri": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_metric": {"tf": 1.4142135623730951}}, "df": 6, "s": {"docs": {"snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 8, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}}, "df": 3}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 8}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1}, "snuba_sdk.Query.set_match": {"tf": 1}}, "df": 2}}}}, "q": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Request.to_dict": {"tf": 1}, "snuba_sdk.Request.print": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_totals": {"tf": 1}, "snuba_sdk.Rollup.__init__": {"tf": 1}, "snuba_sdk.Totals.__init__": {"tf": 1}}, "df": 5}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk.Flags.__init__": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Formula.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Formula.set_parameters": {"tf": 1.4142135623730951}, "snuba_sdk.Metric.set_mri": {"tf": 1}, "snuba_sdk.Metric.set_public_name": {"tf": 1}, "snuba_sdk.Metric.set_id": {"tf": 1}, "snuba_sdk.Metric.set_entity": {"tf": 1}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1}, "snuba_sdk.Timeseries.__init__": {"tf": 1}, "snuba_sdk.Timeseries.set_metric": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_filters": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1.4142135623730951}}, "df": 16}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Lambda.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Request.__init__": {"tf": 1}}, "df": 1}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery.__init__": {"tf": 1}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1}, "snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_match": {"tf": 2}, "snuba_sdk.Query.set_select": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_groupby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_array_join": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_where": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_having": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_orderby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limitby": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_limit": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_offset": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_granularity": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_totals": {"tf": 1.4142135623730951}, "snuba_sdk.Request.__init__": {"tf": 1.4142135623730951}}, "df": 23}}}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1.4142135623730951}, "snuba_sdk.Query.set_match": {"tf": 1}, "snuba_sdk.Query.set_array_join": {"tf": 1}}, "df": 3}}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Query.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.And": {"tf": 1}, "snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Function": {"tf": 1}, "snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}, "snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}}, "df": 21}}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.And": {"tf": 1}, "snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Function": {"tf": 1}, "snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}, "snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}}, "df": 21}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}}, "df": 16, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.BooleanCondition": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Condition": {"tf": 1}, "snuba_sdk.CurriedFunction": {"tf": 1}, "snuba_sdk.Entity": {"tf": 1}, "snuba_sdk.Granularity": {"tf": 1}, "snuba_sdk.Identifier": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Lambda": {"tf": 1}, "snuba_sdk.Limit": {"tf": 1}, "snuba_sdk.LimitBy": {"tf": 1}, "snuba_sdk.Offset": {"tf": 1}, "snuba_sdk.OrderBy": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Totals": {"tf": 1}}, "df": 16}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"snuba_sdk.ArithmeticOperator": {"tf": 1.4142135623730951}, "snuba_sdk.BooleanOp": {"tf": 1.4142135623730951}, "snuba_sdk.Direction": {"tf": 1.4142135623730951}, "snuba_sdk.Op": {"tf": 1.4142135623730951}}, "df": 4}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.And": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}}, "df": 2}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Function": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.And": {"tf": 1}, "snuba_sdk.Or": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 2}}}}}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Function": {"tf": 1}}, "df": 1}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 2}}}}}}}, "doc": {"root": {"0": {"0": {"0": {"0": {"0": {"0": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "t": {"0": {"0": {"docs": {}, "df": 0, ":": {"0": {"0": {"docs": {}, "df": 0, ":": {"0": {"0": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {"snuba_sdk": {"tf": 2.23606797749979}}, "df": 1}, "1": {"0": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}, "2": {"3": {"4": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"snuba_sdk": {"tf": 3}}, "df": 1}, "2": {"0": {"2": {"1": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"snuba_sdk": {"tf": 2}}, "df": 1}, "3": {"6": {"0": {"0": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "9": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {"snuba_sdk": {"tf": 29.154759474226502}, "snuba_sdk.AliasedExpression": {"tf": 5}, "snuba_sdk.AliasedExpression.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.AliasedExpression.exp": {"tf": 1.7320508075688772}, "snuba_sdk.AliasedExpression.alias": {"tf": 1.7320508075688772}, "snuba_sdk.AliasedExpression.validate": {"tf": 1.7320508075688772}, "snuba_sdk.And": {"tf": 1.7320508075688772}, "snuba_sdk.And.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.And.op": {"tf": 1.7320508075688772}, "snuba_sdk.And.conditions": {"tf": 1.7320508075688772}, "snuba_sdk.ArithmeticOperator": {"tf": 1.7320508075688772}, "snuba_sdk.ArithmeticOperator.PLUS": {"tf": 1.7320508075688772}, "snuba_sdk.ArithmeticOperator.MINUS": {"tf": 1.7320508075688772}, "snuba_sdk.ArithmeticOperator.MULTIPLY": {"tf": 1.7320508075688772}, "snuba_sdk.ArithmeticOperator.DIVIDE": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanCondition": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanCondition.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanCondition.op": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanCondition.conditions": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanCondition.validate": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanOp": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanOp.AND": {"tf": 1.7320508075688772}, "snuba_sdk.BooleanOp.OR": {"tf": 1.7320508075688772}, "snuba_sdk.Column": {"tf": 5.744562646538029}, "snuba_sdk.Column.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Column.name": {"tf": 1.7320508075688772}, "snuba_sdk.Column.entity": {"tf": 1.7320508075688772}, "snuba_sdk.Column.subscriptable": {"tf": 1.7320508075688772}, "snuba_sdk.Column.key": {"tf": 1.7320508075688772}, "snuba_sdk.Column.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Column.validate_data_model": {"tf": 1.7320508075688772}, "snuba_sdk.Condition": {"tf": 1.7320508075688772}, "snuba_sdk.Condition.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Condition.lhs": {"tf": 1.7320508075688772}, "snuba_sdk.Condition.op": {"tf": 1.7320508075688772}, "snuba_sdk.Condition.rhs": {"tf": 1.7320508075688772}, "snuba_sdk.Condition.validate": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.function": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.initializers": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.parameters": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.alias": {"tf": 1.7320508075688772}, "snuba_sdk.CurriedFunction.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Direction": {"tf": 1.7320508075688772}, "snuba_sdk.Direction.ASC": {"tf": 1.7320508075688772}, "snuba_sdk.Direction.DESC": {"tf": 1.7320508075688772}, "snuba_sdk.Entity": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.name": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.alias": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.sample": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.data_model": {"tf": 1.7320508075688772}, "snuba_sdk.Entity.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Flags": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.totals": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.consistent": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.turbo": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.debug": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.dry_run": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.legacy": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Flags.to_dict": {"tf": 1.7320508075688772}, "snuba_sdk.Formula": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.function_name": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.parameters": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.filters": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.set_parameters": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.set_filters": {"tf": 1.7320508075688772}, "snuba_sdk.Formula.set_groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Function": {"tf": 1.7320508075688772}, "snuba_sdk.Function.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Function.initializers": {"tf": 1.7320508075688772}, "snuba_sdk.Granularity": {"tf": 1.7320508075688772}, "snuba_sdk.Granularity.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Granularity.granularity": {"tf": 1.7320508075688772}, "snuba_sdk.Granularity.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Identifier": {"tf": 1.7320508075688772}, "snuba_sdk.Identifier.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Identifier.name": {"tf": 1.7320508075688772}, "snuba_sdk.Identifier.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Join": {"tf": 5}, "snuba_sdk.Join.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Join.relationships": {"tf": 1.7320508075688772}, "snuba_sdk.Join.get_alias_mappings": {"tf": 1.7320508075688772}, "snuba_sdk.Join.get_entities": {"tf": 1.7320508075688772}, "snuba_sdk.Join.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Lambda": {"tf": 1.7320508075688772}, "snuba_sdk.Lambda.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Lambda.identifiers": {"tf": 1.7320508075688772}, "snuba_sdk.Lambda.transformation": {"tf": 1.7320508075688772}, "snuba_sdk.Lambda.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Limit": {"tf": 1.7320508075688772}, "snuba_sdk.Limit.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Limit.limit": {"tf": 1.7320508075688772}, "snuba_sdk.Limit.validate": {"tf": 1.7320508075688772}, "snuba_sdk.LimitBy": {"tf": 1.7320508075688772}, "snuba_sdk.LimitBy.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.LimitBy.columns": {"tf": 1.7320508075688772}, "snuba_sdk.LimitBy.count": {"tf": 1.7320508075688772}, "snuba_sdk.LimitBy.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Metric": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.public_name": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.mri": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.id": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.entity": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.get_fields": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.set_mri": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.set_public_name": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.set_id": {"tf": 1.7320508075688772}, "snuba_sdk.Metric.set_entity": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery": {"tf": 2.449489742783178}, "snuba_sdk.MetricsQuery.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.query": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.start": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.end": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.rollup": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.scope": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.limit": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.offset": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.indexer_mappings": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_query": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_start": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_end": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_rollup": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_scope": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_limit": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_offset": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.set_indexer_mappings": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.validate": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.serialize": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.print": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery.serialize_to_mql": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope": {"tf": 2.449489742783178}, "snuba_sdk.MetricsScope.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope.org_ids": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope.project_ids": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope.use_case_id": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope.validate": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope.set_use_case_id": {"tf": 1.7320508075688772}, "snuba_sdk.MQLContext": {"tf": 1.7320508075688772}, "snuba_sdk.Offset": {"tf": 1.7320508075688772}, "snuba_sdk.Offset.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Offset.offset": {"tf": 1.7320508075688772}, "snuba_sdk.Offset.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Op": {"tf": 1.7320508075688772}, "snuba_sdk.Op.GT": {"tf": 1.7320508075688772}, "snuba_sdk.Op.LT": {"tf": 1.7320508075688772}, "snuba_sdk.Op.GTE": {"tf": 1.7320508075688772}, "snuba_sdk.Op.LTE": {"tf": 1.7320508075688772}, "snuba_sdk.Op.EQ": {"tf": 1.7320508075688772}, "snuba_sdk.Op.NEQ": {"tf": 1.7320508075688772}, "snuba_sdk.Op.IN": {"tf": 1.7320508075688772}, "snuba_sdk.Op.NOT_IN": {"tf": 1.7320508075688772}, "snuba_sdk.Op.LIKE": {"tf": 1.7320508075688772}, "snuba_sdk.Op.NOT_LIKE": {"tf": 1.7320508075688772}, "snuba_sdk.Op.IS_NULL": {"tf": 1.7320508075688772}, "snuba_sdk.Op.IS_NOT_NULL": {"tf": 1.7320508075688772}, "snuba_sdk.Op.NOT": {"tf": 1.7320508075688772}, "snuba_sdk.Or": {"tf": 1.7320508075688772}, "snuba_sdk.Or.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Or.op": {"tf": 1.7320508075688772}, "snuba_sdk.Or.conditions": {"tf": 1.7320508075688772}, "snuba_sdk.OrderBy": {"tf": 1.7320508075688772}, "snuba_sdk.OrderBy.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.OrderBy.exp": {"tf": 1.7320508075688772}, "snuba_sdk.OrderBy.direction": {"tf": 1.7320508075688772}, "snuba_sdk.OrderBy.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Query": {"tf": 1.7320508075688772}, "snuba_sdk.Query.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Query.match": {"tf": 1.7320508075688772}, "snuba_sdk.Query.select": {"tf": 1.7320508075688772}, "snuba_sdk.Query.groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.array_join": {"tf": 1.7320508075688772}, "snuba_sdk.Query.where": {"tf": 1.7320508075688772}, "snuba_sdk.Query.having": {"tf": 1.7320508075688772}, "snuba_sdk.Query.orderby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.limitby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.limit": {"tf": 1.7320508075688772}, "snuba_sdk.Query.offset": {"tf": 1.7320508075688772}, "snuba_sdk.Query.granularity": {"tf": 1.7320508075688772}, "snuba_sdk.Query.totals": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_match": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_select": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_array_join": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_where": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_having": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_orderby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_limitby": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_limit": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_offset": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_granularity": {"tf": 1.7320508075688772}, "snuba_sdk.Query.set_totals": {"tf": 1.7320508075688772}, "snuba_sdk.Query.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Query.serialize": {"tf": 1.7320508075688772}, "snuba_sdk.Query.print": {"tf": 1.7320508075688772}, "snuba_sdk.Relationship": {"tf": 5.916079783099616}, "snuba_sdk.Relationship.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Relationship.lhs": {"tf": 1.7320508075688772}, "snuba_sdk.Relationship.name": {"tf": 1.7320508075688772}, "snuba_sdk.Relationship.rhs": {"tf": 1.7320508075688772}, "snuba_sdk.Relationship.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Request": {"tf": 1.7320508075688772}, "snuba_sdk.Request.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Request.dataset": {"tf": 1.7320508075688772}, "snuba_sdk.Request.app_id": {"tf": 1.7320508075688772}, "snuba_sdk.Request.query": {"tf": 1.7320508075688772}, "snuba_sdk.Request.flags": {"tf": 1.7320508075688772}, "snuba_sdk.Request.parent_api": {"tf": 1.7320508075688772}, "snuba_sdk.Request.tenant_ids": {"tf": 1.7320508075688772}, "snuba_sdk.Request.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Request.to_dict": {"tf": 1.7320508075688772}, "snuba_sdk.Request.serialize": {"tf": 1.7320508075688772}, "snuba_sdk.Request.serialize_mql": {"tf": 1.7320508075688772}, "snuba_sdk.Request.print": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.interval": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.totals": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.orderby": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.granularity": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.metric": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.aggregate": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.aggregate_params": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.filters": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.get_fields": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.validate": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.set_metric": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.set_aggregate": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.set_filters": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries.set_groupby": {"tf": 1.7320508075688772}, "snuba_sdk.Totals": {"tf": 1.7320508075688772}, "snuba_sdk.Totals.__init__": {"tf": 1.7320508075688772}, "snuba_sdk.Totals.totals": {"tf": 1.7320508075688772}, "snuba_sdk.Totals.validate": {"tf": 1.7320508075688772}}, "df": 246, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}}}}, "t": {"docs": {"snuba_sdk": {"tf": 2.449489742783178}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1.4142135623730951}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 6}, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "d": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Column": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk": {"tf": 2.449489742783178}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 4}}}, "q": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 4}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column": {"tf": 1.4142135623730951}}, "df": 1, "[": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 2}}, "c": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1.4142135623730951}}, "df": 2}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}}, "df": 2}, "v": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1.4142135623730951}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 5, "m": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 2}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 2, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 2}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 2, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 3.4641016151377544}, "snuba_sdk.AliasedExpression": {"tf": 2.6457513110645907}, "snuba_sdk.Column": {"tf": 3.1622776601683795}, "snuba_sdk.Join": {"tf": 2.23606797749979}, "snuba_sdk.MetricsQuery": {"tf": 2}, "snuba_sdk.MetricsScope": {"tf": 3}, "snuba_sdk.Query": {"tf": 2}, "snuba_sdk.Relationship": {"tf": 3.872983346207417}, "snuba_sdk.Rollup": {"tf": 3.3166247903554}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 10, "n": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 3}, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}, "m": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}, "y": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Join": {"tf": 1.4142135623730951}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 9}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 6}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "n": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "o": {"docs": {"snuba_sdk": {"tf": 2.449489742783178}, "snuba_sdk.AliasedExpression": {"tf": 2}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 2.23606797749979}, "snuba_sdk.MetricsScope": {"tf": 2}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 8, "o": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Rollup": {"tf": 2.23606797749979}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {"snuba_sdk.Timeseries": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 2.449489742783178}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 2}, "snuba_sdk.Rollup": {"tf": 2}, "snuba_sdk.Timeseries": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 2}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "d": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 3}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 2}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Join": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.AliasedExpression": {"tf": 2}}, "df": 2, "s": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.Column": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 2}}, "df": 4}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Join": {"tf": 1.4142135623730951}, "snuba_sdk.Relationship": {"tf": 1.7320508075688772}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.ArithmeticOperator": {"tf": 1}, "snuba_sdk.BooleanOp": {"tf": 1}, "snuba_sdk.Direction": {"tf": 1}, "snuba_sdk.Op": {"tf": 1}}, "df": 4}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"snuba_sdk": {"tf": 2.449489742783178}}, "df": 1}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 2.8284271247461903}, "snuba_sdk.AliasedExpression": {"tf": 1.7320508075688772}, "snuba_sdk.Column": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 2}, "snuba_sdk.MetricsScope": {"tf": 1.4142135623730951}, "snuba_sdk.Query": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup": {"tf": 2}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 10}, "d": {"docs": {"snuba_sdk": {"tf": 3}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}}, "df": 3, "s": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}, "n": {"docs": {"snuba_sdk": {"tf": 2.23606797749979}, "snuba_sdk.AliasedExpression": {"tf": 1.7320508075688772}, "snuba_sdk.Column": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope": {"tf": 1.4142135623730951}, "snuba_sdk.Relationship": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 8, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Query": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1.4142135623730951}}, "df": 8}, "f": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}}, "df": 6}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 2}}}}}}}}}, "a": {"docs": {"snuba_sdk": {"tf": 3.7416573867739413}, "snuba_sdk.AliasedExpression": {"tf": 1.4142135623730951}, "snuba_sdk.Column": {"tf": 1.7320508075688772}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 2.449489742783178}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Query": {"tf": 2}, "snuba_sdk.Relationship": {"tf": 1.7320508075688772}, "snuba_sdk.Rollup": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries": {"tf": 2.23606797749979}}, "df": 11, "l": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1.7320508075688772}}, "df": 1, "o": {"docs": {}, "df": 0, "w": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 2}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1.4142135623730951}}, "df": 3, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}, "n": {"docs": {"snuba_sdk": {"tf": 2}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.ArithmeticOperator": {"tf": 1}, "snuba_sdk.BooleanOp": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Direction": {"tf": 1}, "snuba_sdk.Op": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 10, "d": {"docs": {"snuba_sdk": {"tf": 2}, "snuba_sdk.Column": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 7}, "y": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1.4142135623730951}, "snuba_sdk.Query": {"tf": 1.4142135623730951}}, "df": 3, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1, "s": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}}, "df": 2}, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Join": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 6}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}}, "df": 1, "d": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 3.4641016151377544}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2, "s": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 5}}}}}, "s": {"docs": {"snuba_sdk.Metric": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1.4142135623730951}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 2.23606797749979}}, "df": 2, "s": {"docs": {"snuba_sdk.Join": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 3, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 4}, "d": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {"snuba_sdk.Metric": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 2}}, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 2.8284271247461903}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1.4142135623730951}, "snuba_sdk.Rollup": {"tf": 2}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 11, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Metric": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Query": {"tf": 1.4142135623730951}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1.7320508075688772}}, "df": 5}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 4}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Metric": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 2}}, "df": 1, "s": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Column": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}}, "df": 3, "s": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 3}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 3.3166247903554}, "snuba_sdk.Column": {"tf": 2.6457513110645907}}, "df": 2, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 2.23606797749979}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1.4142135623730951}}, "df": 6}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 2}}, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}}, "df": 2}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 2}, "snuba_sdk.MetricsScope": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"snuba_sdk": {"tf": 2.23606797749979}, "snuba_sdk.AliasedExpression": {"tf": 1.4142135623730951}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Join": {"tf": 1.4142135623730951}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 2}, "snuba_sdk.MetricsScope": {"tf": 1.4142135623730951}, "snuba_sdk.Query": {"tf": 1.7320508075688772}, "snuba_sdk.Relationship": {"tf": 2}, "snuba_sdk.Rollup": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries": {"tf": 2}}, "df": 11, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 2}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 6, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {"snuba_sdk": {"tf": 2}}, "df": 1}, "n": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 3, "c": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 2}}, "e": {"docs": {"snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk.Column": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}}, "df": 2}}}}, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 3.4641016151377544}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 2}, "snuba_sdk.MetricsScope": {"tf": 1.7320508075688772}, "snuba_sdk.Query": {"tf": 2.23606797749979}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1.7320508075688772}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 9}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 7.874007874011811}}, "df": 1}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1.7320508075688772}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1.7320508075688772}}, "df": 4, "s": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Join": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 6}, "w": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "w": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 2}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1}}, "df": 2}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Relationship": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"snuba_sdk.Metric": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsScope": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 3, "s": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"snuba_sdk.Metric": {"tf": 1}}, "df": 1, "s": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "q": {"docs": {"snuba_sdk": {"tf": 2.449489742783178}}, "df": 1, "u": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}}, "df": 1}}}, "t": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.Query": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1, "d": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1.4142135623730951}, "snuba_sdk.Relationship": {"tf": 1.4142135623730951}}, "df": 3}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Join": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 3}}}}}, "g": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"snuba_sdk.Rollup": {"tf": 1}}, "df": 1, "b": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.Timeseries": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk": {"tf": 2}}, "df": 1}}}}}}}}}}, "t": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}, "e": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1}}, "df": 1, "s": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}}, "df": 1}}, "n": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1.4142135623730951}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk": {"tf": 1.7320508075688772}, "snuba_sdk.AliasedExpression": {"tf": 1}, "snuba_sdk.Column": {"tf": 1.4142135623730951}, "snuba_sdk.Join": {"tf": 1.4142135623730951}, "snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}, "snuba_sdk.Timeseries": {"tf": 1}}, "df": 8}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}, "snuba_sdk.Column": {"tf": 1}, "snuba_sdk.Metric": {"tf": 1}, "snuba_sdk.Rollup": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk": {"tf": 2}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.AliasedExpression": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {"snuba_sdk": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.Relationship": {"tf": 2}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"snuba_sdk.Query": {"tf": 1}, "snuba_sdk.Relationship": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"snuba_sdk": {"tf": 1}, "snuba_sdk.Query": {"tf": 1}}, "df": 2, "d": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.MetricsQuery": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"snuba_sdk.MetricsScope": {"tf": 1.4142135623730951}, "snuba_sdk.Timeseries": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {"snuba_sdk.Column": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"snuba_sdk.Column": {"tf": 1.4142135623730951}}, "df": 1}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"snuba_sdk.Join": {"tf": 1}}, "df": 1}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + + // mirrored in build-search-index.js (part 1) + // Also split on html tags. this is a cheap heuristic, but good enough. + elasticlunr.tokenizer.setSeperator(/[\s\-.;&_'"=,()]+|<[^>]*>/); + + let searchIndex; + if (docs._isPrebuiltIndex) { + console.info("using precompiled search index"); + searchIndex = elasticlunr.Index.load(docs); + } else { + console.time("building search index"); + // mirrored in build-search-index.js (part 2) + searchIndex = elasticlunr(function () { + this.pipeline.remove(elasticlunr.stemmer); + this.pipeline.remove(elasticlunr.stopWordFilter); + this.addField("qualname"); + this.addField("fullname"); + this.addField("annotation"); + this.addField("default_value"); + this.addField("signature"); + this.addField("bases"); + this.addField("doc"); + this.setRef("fullname"); + }); + for (let doc of docs) { + searchIndex.addDoc(doc); + } + console.timeEnd("building search index"); + } + + return (term) => searchIndex.search(term, { + fields: { + qualname: {boost: 4}, + fullname: {boost: 2}, + annotation: {boost: 2}, + default_value: {boost: 2}, + signature: {boost: 2}, + bases: {boost: 2}, + doc: {boost: 1}, + }, + expand: true + }); +})(); \ No newline at end of file diff --git a/snuba_sdk.html b/snuba_sdk.html new file mode 100644 index 00000000..6ca44320 --- /dev/null +++ b/snuba_sdk.html @@ -0,0 +1,6306 @@ + + + + + + + snuba_sdk API documentation + + + + + + + + + +
+
+

+snuba_sdk

+ +

image

+ +

See here for the full +documentation.

+ +

Status

+ +

image

+ +

image

+ +

image

+ +

Examples

+ +

Snuba SDK is a tool that allows requests to Snuba to be built +programatically. A Request consists of a Query, the dataset the Query is +targeting, the AppID of the Request, and any flags for the Request. A +Query object is a code representation of a SnQL query, and has a number +of attributes corresponding to different parts of the query.

+ +

Requests and Queries can be created directly:

+ +
+
request = Request(
+    dataset = "discover",
+    app_id = "myappid",
+    tenant_ids = {"referrer": "my_referrer", "organization_id": 1234}
+    query = Query(
+        match=Entity("events"),
+        select=[
+            Column("title"),
+            Function("uniq", [Column("event_id")], "uniq_events"),
+        ],
+        groupby=[Column("title")],
+        where=[
+            Condition(Column("timestamp"), Op.GT, datetime.datetime(2021, 1, 1)),
+            Condition(Column("project_id"), Op.IN, Function("tuple", [1, 2, 3])),
+        ],
+        limit=Limit(10),
+        offset=Offset(0),
+        granularity=Granularity(3600),
+    ),
+    flags = Flags(debug=True)
+)
+
+
+ +

Queries can also be built incrementally:

+ +
+
query = (
+    Query("discover", Entity("events"))
+    .set_select(
+        [Column("title"), Function("uniq", [Column("event_id")], "uniq_events")]
+    )
+    .set_groupby([Column("title")])
+    .set_where(
+        [
+            Condition(Column("timestamp"), Op.GT, datetime.datetime.(2021, 1, 1)),
+            Condition(Column("project_id"), Op.IN, Function("tuple", [1, 2, 3])),
+        ]
+    )
+    .set_limit(10)
+    .set_offset(0)
+    .set_granularity(3600)
+)
+
+
+ +

Once the request is built, it can be translated into a Snuba request +that can be sent to Snuba.

+ +
+
# Outputs a formatted Snuba request
+request.serialize()
+
+
+ +

It can also be printed in a more human readable format.

+ +
+
# Outputs a formatted Snuba request
+print(request.print())
+
+
+ +

This outputs:

+ +
+
{
+    "dataset": "discover",
+    "app_id": "myappid",
+    "query": "MATCH (events) SELECT title, uniq(event_id) AS uniq_events BY title WHERE timestamp > toDateTime('2021-01-01T00:00:00.000000') AND project_id IN tuple(1, 2, 3) LIMIT 10 OFFSET 0 GRANULARITY 3600",
+    "debug": true
+}
+
+
+ +

If an expression in the query is invalid (e.g. Column(1)) then an +InvalidExpressionError exception will be thrown. If there is a problem +with a query, it will throw an InvalidQueryError exception when +.validate() or .translate() is called. If there is a problem with +the Request or the Flags, an InvalidRequestError or InvalidFlagError +will be thrown respectively.

+ +

Contributing to the SDK

+ +

Please refer to +CONTRIBUTING.rst.

+ +

License

+ +

Licensed under FSL-1.0-Apache-2.0, see +LICENSE.

+
+ + + + + +
 1"""
+ 2.. include:: ../README.md
+ 3"""
+ 4
+ 5from snuba_sdk.aliased_expression import AliasedExpression
+ 6from snuba_sdk.column import Column
+ 7from snuba_sdk.conditions import And, BooleanCondition, BooleanOp, Condition, Op, Or
+ 8from snuba_sdk.entity import Entity
+ 9from snuba_sdk.expressions import Granularity, Limit, Offset, Totals
+10from snuba_sdk.formula import ArithmeticOperator, Formula
+11from snuba_sdk.function import CurriedFunction, Function, Identifier, Lambda
+12from snuba_sdk.metrics_query import MetricsQuery
+13from snuba_sdk.orderby import Direction, LimitBy, OrderBy
+14from snuba_sdk.query import Query
+15from snuba_sdk.relationships import Join, Relationship
+16from snuba_sdk.request import Flags, Request
+17from snuba_sdk.timeseries import Metric, MetricsScope, Rollup, Timeseries
+18
+19__all__ = [
+20    "AliasedExpression",
+21    "And",
+22    "ArithmeticOperator",
+23    "BooleanCondition",
+24    "BooleanOp",
+25    "Column",
+26    "Condition",
+27    "CurriedFunction",
+28    "Direction",
+29    "Entity",
+30    "Flags",
+31    "Formula",
+32    "Function",
+33    "Granularity",
+34    "Identifier",
+35    "Join",
+36    "Lambda",
+37    "Limit",
+38    "LimitBy",
+39    "Metric",
+40    "MetricsQuery",
+41    "MetricsScope",
+42    "MQLContext",
+43    "Offset",
+44    "Op",
+45    "Or",
+46    "OrderBy",
+47    "Query",
+48    "Relationship",
+49    "Request",
+50    "Rollup",
+51    "Timeseries",
+52    "Totals",
+53]
+
+ + +
+
+ +
+ + class + AliasedExpression(snuba_sdk.expressions.Expression): + + + +
+ +
10class AliasedExpression(Expression):
+11    """
+12    Used to alias the name of an expression in the results of a query. It is not used
+13    anywhere in Snuba except to change the names in the results set. Right now this is
+14    limited to Columns only because Functions have a separate alias. Eventually the
+15    two will be combined.
+16
+17    :param Expression: The expression to alias.
+18    :type Expression: Column
+19    :raises InvalidExpressionError: If the expression or alias is invalid.
+20    """
+21
+22    # TODO: We should eventually allow Functions here as well, once we think through
+23    # how this should work with functions that already have aliases.
+24    exp: Column
+25    alias: Optional[str] = None
+26
+27    def validate(self) -> None:
+28        if not isinstance(self.exp, Column):
+29            raise InvalidExpressionError(
+30                "aliased expressions can only contain a Column"
+31            )
+32
+33        if self.alias is not None:
+34            if not isinstance(self.alias, str) or self.alias == "":
+35                raise InvalidExpressionError(
+36                    f"alias '{self.alias}' of expression must be None or a non-empty string"
+37                )
+38            if not ALIAS_RE.match(self.alias):
+39                raise InvalidExpressionError(
+40                    f"alias '{self.alias}' of expression contains invalid characters"
+41                )
+
+ + +

Used to alias the name of an expression in the results of a query. It is not used +anywhere in Snuba except to change the names in the results set. Right now this is +limited to Columns only because Functions have a separate alias. Eventually the +two will be combined.

+ +
Parameters
+ +
    +
  • Expression: The expression to alias.
  • +
+ +
Raises
+ +
    +
  • InvalidExpressionError: If the expression or alias is invalid.
  • +
+
+ + +
+
+ + AliasedExpression(exp: Column, alias: Union[str, NoneType] = None) + + +
+ + + + +
+
+
+ exp: Column + + +
+ + + + +
+
+
+ alias: Union[str, NoneType] = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
27    def validate(self) -> None:
+28        if not isinstance(self.exp, Column):
+29            raise InvalidExpressionError(
+30                "aliased expressions can only contain a Column"
+31            )
+32
+33        if self.alias is not None:
+34            if not isinstance(self.alias, str) or self.alias == "":
+35                raise InvalidExpressionError(
+36                    f"alias '{self.alias}' of expression must be None or a non-empty string"
+37                )
+38            if not ALIAS_RE.match(self.alias):
+39                raise InvalidExpressionError(
+40                    f"alias '{self.alias}' of expression contains invalid characters"
+41                )
+
+ + + + +
+
+
+ +
+ + class + And(snuba_sdk.BooleanCondition): + + + +
+ +
136class And(BooleanCondition):
+137    op: BooleanOp = field(init=False, default=BooleanOp.AND)
+138    conditions: ConditionGroup = field(default_factory=list)
+
+ + + + +
+
+ + And( conditions: Sequence[Union[BooleanCondition, Condition]] = <factory>) + + +
+ + + + +
+
+
+ op: BooleanOp = +<BooleanOp.AND: 'AND'> + + +
+ + + + +
+
+
+ conditions: Sequence[Union[BooleanCondition, Condition]] + + +
+ + + + +
+
+
Inherited Members
+
+ +
+
+
+
+ +
+ + class + ArithmeticOperator(enum.Enum): + + + +
+ +
23class ArithmeticOperator(Enum):
+24    PLUS = "plus"
+25    MINUS = "minus"
+26    MULTIPLY = "multiply"
+27    DIVIDE = "divide"
+
+ + +

An enumeration.

+
+ + +
+
+ PLUS = +<ArithmeticOperator.PLUS: 'plus'> + + +
+ + + + +
+
+
+ MINUS = +<ArithmeticOperator.MINUS: 'minus'> + + +
+ + + + +
+
+
+ MULTIPLY = +<ArithmeticOperator.MULTIPLY: 'multiply'> + + +
+ + + + +
+
+
+ DIVIDE = +<ArithmeticOperator.DIVIDE: 'divide'> + + +
+ + + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+ +
+ + class + BooleanCondition(snuba_sdk.expressions.Expression): + + + +
+ +
109class BooleanCondition(Expression):
+110    op: BooleanOp
+111    conditions: ConditionGroup
+112
+113    def validate(self) -> None:
+114        if not isinstance(self.op, BooleanOp):
+115            raise InvalidConditionError(
+116                "invalid boolean: operator of a boolean must be a BooleanOp"
+117            )
+118
+119        if not isinstance(self.conditions, (list, tuple)):
+120            raise InvalidConditionError(
+121                "invalid boolean: conditions must be a list of other conditions"
+122            )
+123        elif len(self.conditions) < 2:
+124            raise InvalidConditionError(
+125                "invalid boolean: must supply at least two conditions"
+126            )
+127
+128        for con in self.conditions:
+129            if not isinstance(con, (Condition, BooleanCondition)):
+130                raise InvalidConditionError(
+131                    f"invalid boolean: {con} is not a valid condition"
+132                )
+
+ + + + +
+
+ + BooleanCondition( op: BooleanOp, conditions: Sequence[Union[BooleanCondition, Condition]]) + + +
+ + + + +
+
+
+ op: BooleanOp + + +
+ + + + +
+
+
+ conditions: Sequence[Union[BooleanCondition, Condition]] + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
113    def validate(self) -> None:
+114        if not isinstance(self.op, BooleanOp):
+115            raise InvalidConditionError(
+116                "invalid boolean: operator of a boolean must be a BooleanOp"
+117            )
+118
+119        if not isinstance(self.conditions, (list, tuple)):
+120            raise InvalidConditionError(
+121                "invalid boolean: conditions must be a list of other conditions"
+122            )
+123        elif len(self.conditions) < 2:
+124            raise InvalidConditionError(
+125                "invalid boolean: must supply at least two conditions"
+126            )
+127
+128        for con in self.conditions:
+129            if not isinstance(con, (Condition, BooleanCondition)):
+130                raise InvalidConditionError(
+131                    f"invalid boolean: {con} is not a valid condition"
+132                )
+
+ + + + +
+
+
+ +
+ + class + BooleanOp(enum.Enum): + + + +
+ +
103class BooleanOp(Enum):
+104    AND = "AND"
+105    OR = "OR"
+
+ + +

An enumeration.

+
+ + +
+
+ AND = +<BooleanOp.AND: 'AND'> + + +
+ + + + +
+
+
+ OR = +<BooleanOp.OR: 'OR'> + + +
+ + + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+ +
+ + class + Column(snuba_sdk.expressions.Expression): + + + +
+ +
18class Column(Expression):
+19    """
+20    A representation of a single column in the database. Columns are
+21    expected to be alpha-numeric, with '.', '_`, and `:` allowed as well.
+22    If the column is subscriptable then you can specify the column in the
+23    form `subscriptable[key]`. The `subscriptable` attribute will contain the outer
+24    column and `key` will contain the inner key.
+25
+26    :param name: The column name.
+27    :type name: str
+28    :param entity: The entity for that column
+29    :type name: Optional[Entity]
+30
+31    :raises InvalidColumnError: If the column name is not a string or has an
+32        invalid format.
+33
+34    """
+35
+36    name: str
+37    entity: Optional[Entity] = None
+38    subscriptable: Optional[str] = field(init=False, default=None)
+39    key: Optional[str] = field(init=False, default=None)
+40
+41    def validate(self) -> None:
+42        if not isinstance(self.name, str):
+43            raise InvalidColumnError(f"column '{self.name}' must be a string")
+44        if not column_name_re.match(self.name):
+45            raise InvalidColumnError(
+46                f"column '{self.name}' is empty or contains invalid characters"
+47            )
+48
+49        if self.entity is not None:
+50            if not isinstance(self.entity, Entity):
+51                raise InvalidColumnError(f"column '{self.name}' expects an Entity")
+52            if not self.entity.alias:
+53                raise InvalidColumnError(
+54                    f"column '{self.name}' expects an Entity with an alias"
+55                )
+56
+57            self.validate_data_model(self.entity)
+58
+59        # If this is a subscriptable set these values to help with debugging etc.
+60        # Because this is frozen we can't set the value directly.
+61        if "[" in self.name:
+62            subscriptable, key = self.name.split("[", 1)
+63            key = key.strip("]")
+64            super().__setattr__("subscriptable", subscriptable)
+65            super().__setattr__("key", key)
+66
+67    def validate_data_model(self, entity: Entity) -> None:
+68        if entity.data_model is None:
+69            return
+70
+71        to_check = self.subscriptable if self.subscriptable else self.name
+72        if not entity.data_model.contains(to_check):
+73            raise InvalidColumnError(
+74                f"entity '{entity.name}' does not support the column '{self.name}'"
+75            )
+
+ + +

A representation of a single column in the database. Columns are +expected to be alpha-numeric, with '.', '_, and:allowed as well. +If the column is subscriptable then you can specify the column in the +formsubscriptable[key]. Thesubscriptableattribute will contain the outer +column andkey` will contain the inner key.

+ +
Parameters
+ +
    +
  • name: The column name.
  • +
  • entity: The entity for that column
  • +
+ +
Raises
+ +
    +
  • InvalidColumnError: If the column name is not a string or has an +invalid format.
  • +
+
+ + +
+
+ + Column(name: str, entity: Union[Entity, NoneType] = None) + + +
+ + + + +
+
+
+ name: str + + +
+ + + + +
+
+
+ entity: Union[Entity, NoneType] = +None + + +
+ + + + +
+
+
+ subscriptable: Union[str, NoneType] = +None + + +
+ + + + +
+
+
+ key: Union[str, NoneType] = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
41    def validate(self) -> None:
+42        if not isinstance(self.name, str):
+43            raise InvalidColumnError(f"column '{self.name}' must be a string")
+44        if not column_name_re.match(self.name):
+45            raise InvalidColumnError(
+46                f"column '{self.name}' is empty or contains invalid characters"
+47            )
+48
+49        if self.entity is not None:
+50            if not isinstance(self.entity, Entity):
+51                raise InvalidColumnError(f"column '{self.name}' expects an Entity")
+52            if not self.entity.alias:
+53                raise InvalidColumnError(
+54                    f"column '{self.name}' expects an Entity with an alias"
+55                )
+56
+57            self.validate_data_model(self.entity)
+58
+59        # If this is a subscriptable set these values to help with debugging etc.
+60        # Because this is frozen we can't set the value directly.
+61        if "[" in self.name:
+62            subscriptable, key = self.name.split("[", 1)
+63            key = key.strip("]")
+64            super().__setattr__("subscriptable", subscriptable)
+65            super().__setattr__("key", key)
+
+ + + + +
+
+ +
+ + def + validate_data_model(self, entity: Entity) -> None: + + + +
+ +
67    def validate_data_model(self, entity: Entity) -> None:
+68        if entity.data_model is None:
+69            return
+70
+71        to_check = self.subscriptable if self.subscriptable else self.name
+72        if not entity.data_model.contains(to_check):
+73            raise InvalidColumnError(
+74                f"entity '{entity.name}' does not support the column '{self.name}'"
+75            )
+
+ + + + +
+
+
+ +
+ + class + Condition(snuba_sdk.expressions.Expression): + + + +
+ +
 74class Condition(Expression):
+ 75    lhs: Union[Column, CurriedFunction, Function]
+ 76    op: Op
+ 77    rhs: Optional[Union[Column, CurriedFunction, Function, ScalarType]] = None
+ 78
+ 79    def validate(self) -> None:
+ 80        if not isinstance(self.lhs, (Column, CurriedFunction, Function)):
+ 81            raise InvalidConditionError(
+ 82                f"invalid condition: LHS of a condition must be a Column, CurriedFunction or Function, not {type(self.lhs)}"
+ 83            )
+ 84        if not isinstance(self.op, Op):
+ 85            raise InvalidConditionError(
+ 86                "invalid condition: operator of a condition must be an Op"
+ 87            )
+ 88
+ 89        if is_unary(self.op):
+ 90            if self.rhs is not None:
+ 91                raise InvalidConditionError(
+ 92                    "invalid condition: unary operators don't have rhs conditions"
+ 93                )
+ 94
+ 95        if not isinstance(
+ 96            self.rhs, (Column, CurriedFunction, Function)
+ 97        ) and not is_scalar(self.rhs):
+ 98            raise InvalidConditionError(
+ 99                f"invalid condition: RHS of a condition must be a Column, CurriedFunction, Function or Scalar not {type(self.rhs)}"
+100            )
+
+ + + + +
+
+ + Condition( lhs: Union[Column, CurriedFunction, Function], op: Op, rhs: Union[Column, CurriedFunction, Function, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]]] = None) + + +
+ + + + +
+
+
+ lhs: Union[Column, CurriedFunction, Function] + + +
+ + + + +
+
+
+ op: Op + + +
+ + + + +
+
+
+ rhs: Union[Column, CurriedFunction, Function, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]]] = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
 79    def validate(self) -> None:
+ 80        if not isinstance(self.lhs, (Column, CurriedFunction, Function)):
+ 81            raise InvalidConditionError(
+ 82                f"invalid condition: LHS of a condition must be a Column, CurriedFunction or Function, not {type(self.lhs)}"
+ 83            )
+ 84        if not isinstance(self.op, Op):
+ 85            raise InvalidConditionError(
+ 86                "invalid condition: operator of a condition must be an Op"
+ 87            )
+ 88
+ 89        if is_unary(self.op):
+ 90            if self.rhs is not None:
+ 91                raise InvalidConditionError(
+ 92                    "invalid condition: unary operators don't have rhs conditions"
+ 93                )
+ 94
+ 95        if not isinstance(
+ 96            self.rhs, (Column, CurriedFunction, Function)
+ 97        ) and not is_scalar(self.rhs):
+ 98            raise InvalidConditionError(
+ 99                f"invalid condition: RHS of a condition must be a Column, CurriedFunction, Function or Scalar not {type(self.rhs)}"
+100            )
+
+ + + + +
+
+
+ +
+ + class + CurriedFunction(snuba_sdk.expressions.Expression): + + + +
+ +
 33class CurriedFunction(Expression):
+ 34    function: str
+ 35    initializers: Optional[Sequence[Union[ScalarLiteralType, Column]]] = None
+ 36    parameters: Optional[
+ 37        Sequence[
+ 38            Union[
+ 39                ScalarType,
+ 40                Column,
+ 41                CurriedFunction,
+ 42                Function,
+ 43                Identifier,
+ 44                Lambda,
+ 45            ]
+ 46        ]
+ 47    ] = None
+ 48    alias: Optional[str] = None
+ 49
+ 50    def validate(self) -> None:
+ 51        if not isinstance(self.function, str):
+ 52            raise InvalidFunctionError(f"function '{self.function}' must be a string")
+ 53        if self.function == "":
+ 54            # TODO: Have a whitelist of valid functions to check, maybe even with more
+ 55            # specific parameter type checking
+ 56            raise InvalidFunctionError("function cannot be empty")
+ 57        if not function_name_re.match(self.function):
+ 58            raise InvalidFunctionError(
+ 59                f"function '{self.function}' contains invalid characters"
+ 60            )
+ 61
+ 62        if self.initializers is not None:
+ 63            if not isinstance(self.initializers, Sequence):
+ 64                raise InvalidFunctionError(
+ 65                    f"initializers of function {self.function} must be a Sequence"
+ 66                )
+ 67            elif not all(
+ 68                isinstance(param, Column) or is_literal(param)
+ 69                for param in self.initializers
+ 70            ):
+ 71                raise InvalidFunctionError(
+ 72                    f"initializers to function {self.function} must be a scalar or column"
+ 73                )
+ 74
+ 75        if self.alias is not None:
+ 76            if not isinstance(self.alias, str) or self.alias == "":
+ 77                raise InvalidFunctionError(
+ 78                    f"alias '{self.alias}' of function {self.function} must be None or a non-empty string"
+ 79                )
+ 80            if not ALIAS_RE.match(self.alias):
+ 81                raise InvalidFunctionError(
+ 82                    f"alias '{self.alias}' of function {self.function} contains invalid characters"
+ 83                )
+ 84
+ 85        if self.parameters is not None:
+ 86            if not isinstance(self.parameters, Sequence):
+ 87                raise InvalidFunctionError(
+ 88                    f"parameters of function {self.function} must be a Sequence"
+ 89                )
+ 90            for param in self.parameters:
+ 91                if not isinstance(
+ 92                    param,
+ 93                    (Column, CurriedFunction, Function, Identifier, Lambda),
+ 94                ) and not is_scalar(param):
+ 95                    assert not isinstance(param, bytes)  # mypy
+ 96                    raise InvalidFunctionError(
+ 97                        f"parameter '{param}' of function {self.function} is an invalid type"
+ 98                    )
+ 99
+100    def __eq__(self, other: object) -> bool:
+101        # Don't use the alias to compare equality
+102        if not isinstance(other, CurriedFunction):
+103            return False
+104
+105        return (
+106            self.function == other.function
+107            and self.initializers == other.initializers
+108            and self.parameters == other.parameters
+109        )
+
+ + + + +
+
+ + CurriedFunction( function: str, initializers: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Column]], NoneType] = None, parameters: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]], Column, CurriedFunction, Function, Identifier, Lambda]], NoneType] = None, alias: Union[str, NoneType] = None) + + +
+ + + + +
+
+
+ function: str + + +
+ + + + +
+
+
+ initializers: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Column]], NoneType] = +None + + +
+ + + + +
+
+
+ parameters: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]], Column, CurriedFunction, Function, Identifier, Lambda]], NoneType] = +None + + +
+ + + + +
+
+
+ alias: Union[str, NoneType] = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
50    def validate(self) -> None:
+51        if not isinstance(self.function, str):
+52            raise InvalidFunctionError(f"function '{self.function}' must be a string")
+53        if self.function == "":
+54            # TODO: Have a whitelist of valid functions to check, maybe even with more
+55            # specific parameter type checking
+56            raise InvalidFunctionError("function cannot be empty")
+57        if not function_name_re.match(self.function):
+58            raise InvalidFunctionError(
+59                f"function '{self.function}' contains invalid characters"
+60            )
+61
+62        if self.initializers is not None:
+63            if not isinstance(self.initializers, Sequence):
+64                raise InvalidFunctionError(
+65                    f"initializers of function {self.function} must be a Sequence"
+66                )
+67            elif not all(
+68                isinstance(param, Column) or is_literal(param)
+69                for param in self.initializers
+70            ):
+71                raise InvalidFunctionError(
+72                    f"initializers to function {self.function} must be a scalar or column"
+73                )
+74
+75        if self.alias is not None:
+76            if not isinstance(self.alias, str) or self.alias == "":
+77                raise InvalidFunctionError(
+78                    f"alias '{self.alias}' of function {self.function} must be None or a non-empty string"
+79                )
+80            if not ALIAS_RE.match(self.alias):
+81                raise InvalidFunctionError(
+82                    f"alias '{self.alias}' of function {self.function} contains invalid characters"
+83                )
+84
+85        if self.parameters is not None:
+86            if not isinstance(self.parameters, Sequence):
+87                raise InvalidFunctionError(
+88                    f"parameters of function {self.function} must be a Sequence"
+89                )
+90            for param in self.parameters:
+91                if not isinstance(
+92                    param,
+93                    (Column, CurriedFunction, Function, Identifier, Lambda),
+94                ) and not is_scalar(param):
+95                    assert not isinstance(param, bytes)  # mypy
+96                    raise InvalidFunctionError(
+97                        f"parameter '{param}' of function {self.function} is an invalid type"
+98                    )
+
+ + + + +
+
+
+ +
+ + class + Direction(enum.Enum): + + + +
+ +
11class Direction(Enum):
+12    ASC = "ASC"
+13    DESC = "DESC"
+
+ + +

An enumeration.

+
+ + +
+
+ ASC = +<Direction.ASC: 'ASC'> + + +
+ + + + +
+
+
+ DESC = +<Direction.DESC: 'DESC'> + + +
+ + + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+ +
+ + class + Entity(snuba_sdk.expressions.Expression): + + + +
+ +
17class Entity(Expression):
+18    name: str
+19    alias: Optional[str] = None
+20    sample: Optional[float] = None
+21    data_model: Optional[EntityModel] = field(hash=False, default=None)
+22
+23    def validate(self) -> None:
+24        # TODO: There should be a whitelist of entity names at some point
+25        if not isinstance(self.name, str) or not entity_name_re.match(self.name):
+26            raise InvalidEntityError(f"'{self.name}' is not a valid entity name")
+27
+28        if self.sample is not None:
+29            if not isinstance(self.sample, float):
+30                raise InvalidEntityError("sample must be a float")
+31            elif self.sample <= 0.0:
+32                raise InvalidEntityError("samples must be greater than 0.0")
+33
+34        if self.alias is not None:
+35            if not isinstance(self.alias, str) or not self.alias:
+36                raise InvalidEntityError(f"'{self.alias}' is not a valid alias")
+37
+38        if self.data_model is not None:
+39            if not isinstance(self.data_model, EntityModel):
+40                raise InvalidEntityError(
+41                    "data_model must be an instance of EntityModel"
+42                )
+43
+44    def __repr__(self) -> str:
+45        alias = f", alias='{self.alias}'" if self.alias is not None else ""
+46        sample = f", sample={self.sample}" if self.sample is not None else ""
+47        return f"Entity('{self.name}'{alias}{sample})"
+
+ + + + +
+
+ + Entity( name: str, alias: Union[str, NoneType] = None, sample: Union[float, NoneType] = None, data_model: Union[snuba_sdk.schema.EntityModel, NoneType] = None) + + +
+ + + + +
+
+
+ name: str + + +
+ + + + +
+
+
+ alias: Union[str, NoneType] = +None + + +
+ + + + +
+
+
+ sample: Union[float, NoneType] = +None + + +
+ + + + +
+
+
+ data_model: Union[snuba_sdk.schema.EntityModel, NoneType] = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
23    def validate(self) -> None:
+24        # TODO: There should be a whitelist of entity names at some point
+25        if not isinstance(self.name, str) or not entity_name_re.match(self.name):
+26            raise InvalidEntityError(f"'{self.name}' is not a valid entity name")
+27
+28        if self.sample is not None:
+29            if not isinstance(self.sample, float):
+30                raise InvalidEntityError("sample must be a float")
+31            elif self.sample <= 0.0:
+32                raise InvalidEntityError("samples must be greater than 0.0")
+33
+34        if self.alias is not None:
+35            if not isinstance(self.alias, str) or not self.alias:
+36                raise InvalidEntityError(f"'{self.alias}' is not a valid alias")
+37
+38        if self.data_model is not None:
+39            if not isinstance(self.data_model, EntityModel):
+40                raise InvalidEntityError(
+41                    "data_model must be an instance of EntityModel"
+42                )
+
+ + + + +
+
+
+ +
+ + class + Flags: + + + +
+ +
22class Flags:
+23    totals: bool | None = None
+24    consistent: bool | None = None
+25    turbo: bool | None = None
+26    debug: bool | None = None
+27    dry_run: bool | None = None
+28    legacy: bool | None = None
+29
+30    def validate(self) -> None:
+31        flags_fields = fields(self)
+32        for ff in flags_fields:
+33            flag = getattr(self, ff.name)
+34            if flag is not None and not isinstance(flag, bool):
+35                raise InvalidFlagError(f"{ff.name} must be a boolean")
+36
+37    def to_dict(self) -> dict[str, bool]:
+38        self.validate()
+39        values = asdict(self)
+40        return {f: v for f, v in values.items() if v is not None}
+
+ + + + +
+
+ + Flags( totals: 'bool | None' = None, consistent: 'bool | None' = None, turbo: 'bool | None' = None, debug: 'bool | None' = None, dry_run: 'bool | None' = None, legacy: 'bool | None' = None) + + +
+ + + + +
+
+
+ totals: 'bool | None' = +None + + +
+ + + + +
+
+
+ consistent: 'bool | None' = +None + + +
+ + + + +
+
+
+ turbo: 'bool | None' = +None + + +
+ + + + +
+
+
+ debug: 'bool | None' = +None + + +
+ + + + +
+
+
+ dry_run: 'bool | None' = +None + + +
+ + + + +
+
+
+ legacy: 'bool | None' = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
30    def validate(self) -> None:
+31        flags_fields = fields(self)
+32        for ff in flags_fields:
+33            flag = getattr(self, ff.name)
+34            if flag is not None and not isinstance(flag, bool):
+35                raise InvalidFlagError(f"{ff.name} must be a boolean")
+
+ + + + +
+
+ +
+ + def + to_dict(self) -> 'dict[str, bool]': + + + +
+ +
37    def to_dict(self) -> dict[str, bool]:
+38        self.validate()
+39        values = asdict(self)
+40        return {f: v for f, v in values.items() if v is not None}
+
+ + + + +
+
+
+ +
+ + class + Formula: + + + +
+ +
 39class Formula:
+ 40    function_name: str
+ 41    parameters: Optional[Sequence[FormulaParameterGroup]] = None
+ 42    filters: Optional[ConditionGroup] = None
+ 43    groupby: Optional[list[Column | AliasedExpression]] = None
+ 44
+ 45    def __validate_consistency(self) -> tuple[str, list[Column | AliasedExpression]]:
+ 46        """
+ 47        Ensure that the entity and groupby columns are consistent across all Timeseries
+ 48        and Formulas within this Formula."""
+ 49        if self.parameters is None:
+ 50            raise InvalidFormulaError("Formula must have parameters")
+ 51
+ 52        entities = set()
+ 53        groupbys = []
+ 54        groupbys.append(
+ 55            tuple(g for g in self.groupby) if self.groupby is not None else tuple()
+ 56        )
+ 57        for param in self.parameters:
+ 58            if isinstance(param, Formula):
+ 59                entity, found_gpby = param.__validate_consistency()
+ 60                entities.add(entity)
+ 61                groupbys.append(tuple(found_gpby))
+ 62            elif isinstance(param, Timeseries):
+ 63                if param.metric.entity is not None:
+ 64                    entities.add(param.metric.entity)
+ 65                if param.groupby is not None:
+ 66                    groupbys.append(tuple(param.groupby))
+ 67
+ 68        if len(entities) != 1:
+ 69            raise InvalidFormulaError("Formulas must operate on a single entity")
+ 70        if len(set(groupbys)) != 1:
+ 71            raise InvalidFormulaError(
+ 72                "Formula parameters must group by the same columns"
+ 73            )
+ 74
+ 75        return entities.pop(), list(groupbys[0])
+ 76
+ 77    def validate(self) -> None:
+ 78        if not isinstance(self.function_name, str):
+ 79            raise InvalidFormulaError(f"formula '{self.function_name}' must be a str")
+ 80        if self.parameters is None:
+ 81            raise InvalidFormulaError("Formula must have parameters")
+ 82        elif not isinstance(self.parameters, Sequence):
+ 83            raise InvalidFormulaError(
+ 84                f"parameters of formula {self.function_name} must be a Sequence"
+ 85            )
+ 86
+ 87        for param in self.parameters:
+ 88            if not isinstance(param, tuple(FormulaParameter)):
+ 89                raise InvalidFormulaError(
+ 90                    f"parameter '{param}' of formula {self.function_name} is an invalid type"
+ 91                )
+ 92        self.__validate_consistency()
+ 93
+ 94    def _replace(self, field: str, value: Any) -> Formula:
+ 95        new = replace(self, **{field: value})
+ 96        return new
+ 97
+ 98    def set_parameters(self, parameters: Sequence[FormulaParameterGroup]) -> Formula:
+ 99        if parameters is not None and not list_type(
+100            parameters, (Formula, Timeseries, float, int)
+101        ):
+102            raise InvalidFormulaError(
+103                "parameters must be a list of either Timeseries, floats, or ints"
+104            )
+105        return self._replace("parameters", parameters)
+106
+107    def set_filters(self, filters: ConditionGroup | None) -> Formula:
+108        if filters is not None and not list_type(
+109            filters, (BooleanCondition, Condition)
+110        ):
+111            raise InvalidFormulaError("filters must be a list of Conditions")
+112        return self._replace("filters", filters)
+113
+114    def set_groupby(self, groupby: list[Column | AliasedExpression] | None) -> Formula:
+115        if groupby is not None and not list_type(groupby, (Column, AliasedExpression)):
+116            raise InvalidFormulaError("groupby must be a list of Columns")
+117        return self._replace("groupby", groupby)
+
+ + + + +
+
+ + Formula( function_name: str, parameters: Union[Sequence[Union[Formula, Timeseries, float, int, str]], NoneType] = None, filters: Union[Sequence[Union[BooleanCondition, Condition]], NoneType] = None, groupby: 'Optional[list[Column | AliasedExpression]]' = None) + + +
+ + + + +
+
+
+ function_name: str + + +
+ + + + +
+
+
+ parameters: Union[Sequence[Union[Formula, Timeseries, float, int, str]], NoneType] = +None + + +
+ + + + +
+
+
+ filters: Union[Sequence[Union[BooleanCondition, Condition]], NoneType] = +None + + +
+ + + + +
+
+
+ groupby: 'Optional[list[Column | AliasedExpression]]' = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
77    def validate(self) -> None:
+78        if not isinstance(self.function_name, str):
+79            raise InvalidFormulaError(f"formula '{self.function_name}' must be a str")
+80        if self.parameters is None:
+81            raise InvalidFormulaError("Formula must have parameters")
+82        elif not isinstance(self.parameters, Sequence):
+83            raise InvalidFormulaError(
+84                f"parameters of formula {self.function_name} must be a Sequence"
+85            )
+86
+87        for param in self.parameters:
+88            if not isinstance(param, tuple(FormulaParameter)):
+89                raise InvalidFormulaError(
+90                    f"parameter '{param}' of formula {self.function_name} is an invalid type"
+91                )
+92        self.__validate_consistency()
+
+ + + + +
+
+ +
+ + def + set_parameters( self, parameters: Sequence[Union[Formula, Timeseries, float, int, str]]) -> Formula: + + + +
+ +
 98    def set_parameters(self, parameters: Sequence[FormulaParameterGroup]) -> Formula:
+ 99        if parameters is not None and not list_type(
+100            parameters, (Formula, Timeseries, float, int)
+101        ):
+102            raise InvalidFormulaError(
+103                "parameters must be a list of either Timeseries, floats, or ints"
+104            )
+105        return self._replace("parameters", parameters)
+
+ + + + +
+
+ +
+ + def + set_filters(self, filters: 'ConditionGroup | None') -> Formula: + + + +
+ +
107    def set_filters(self, filters: ConditionGroup | None) -> Formula:
+108        if filters is not None and not list_type(
+109            filters, (BooleanCondition, Condition)
+110        ):
+111            raise InvalidFormulaError("filters must be a list of Conditions")
+112        return self._replace("filters", filters)
+
+ + + + +
+
+ +
+ + def + set_groupby( self, groupby: 'list[Column | AliasedExpression] | None') -> Formula: + + + +
+ +
114    def set_groupby(self, groupby: list[Column | AliasedExpression] | None) -> Formula:
+115        if groupby is not None and not list_type(groupby, (Column, AliasedExpression)):
+116            raise InvalidFormulaError("groupby must be a list of Columns")
+117        return self._replace("groupby", groupby)
+
+ + + + +
+
+
+ +
+ + class + Function(snuba_sdk.CurriedFunction): + + + +
+ +
113class Function(CurriedFunction):
+114    initializers: Optional[Sequence[Union[ScalarLiteralType, Column]]] = field(
+115        init=False, default=None
+116    )
+
+ + + + +
+
+ + Function( function: str, parameters: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Sequence[Union[snuba_sdk.expressions.Expression, NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime]], Column, CurriedFunction, Function, Identifier, Lambda]], NoneType] = None, alias: Union[str, NoneType] = None) + + +
+ + + + +
+
+
+ initializers: Union[Sequence[Union[NoneType, bool, str, bytes, float, int, datetime.date, datetime.datetime, Column]], NoneType] = +None + + +
+ + + + +
+
+
Inherited Members
+
+ +
+
+
+
+ +
+ + class + Granularity(snuba_sdk.expressions.Expression): + + + +
+ +
108class Granularity(Expression):
+109    granularity: int
+110
+111    def validate(self) -> None:
+112        _validate_int_literal("granularity", self.granularity, 1, None)
+
+ + + + +
+
+ + Granularity(granularity: int) + + +
+ + + + +
+
+
+ granularity: int + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
111    def validate(self) -> None:
+112        _validate_int_literal("granularity", self.granularity, 1, None)
+
+ + + + +
+
+
+ +
+ + class + Identifier(snuba_sdk.expressions.Expression): + + + +
+ +
127class Identifier(Expression):
+128    name: str
+129
+130    def validate(self) -> None:
+131        if not isinstance(self.name, str) or not identifier_re.match(self.name):
+132            raise InvalidLambdaError(f"`{self.name}` is not a valid identifier")
+
+ + + + +
+
+ + Identifier(name: str) + + +
+ + + + +
+
+
+ name: str + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
130    def validate(self) -> None:
+131        if not isinstance(self.name, str) or not identifier_re.match(self.name):
+132            raise InvalidLambdaError(f"`{self.name}` is not a valid identifier")
+
+ + + + +
+
+
+ +
+ + class + Join(snuba_sdk.expressions.Expression): + + + +
+ +
52class Join(Expression):
+53    """
+54    A collection of relationships that is used in the MATCH section of
+55    the SnQL query. Must contain at least one Relationship, and will make
+56    sure that Entity aliases are not used by different Entities.
+57
+58    :param relationships: The relationships in the join.
+59    :type name: Sequence[Relationship]
+60
+61    :raises InvalidExpressionError: If two different Entities are using
+62        the same alias, this will be raised.
+63
+64    """
+65
+66    relationships: Sequence[Relationship]
+67
+68    def get_alias_mappings(self) -> set[tuple[str, str]]:
+69        aliases = set()
+70        for rel in self.relationships:
+71            if rel.lhs.alias is not None:
+72                aliases.add((rel.lhs.alias, rel.lhs.name))
+73            if rel.rhs.alias is not None:
+74                aliases.add((rel.rhs.alias, rel.rhs.name))
+75
+76        return aliases
+77
+78    def get_entities(self) -> set[Entity]:
+79        entities = set()
+80        for rel in self.relationships:
+81            entities.add(rel.lhs)
+82            entities.add(rel.rhs)
+83        return entities
+84
+85    def validate(self) -> None:
+86        if not isinstance(self.relationships, (list, tuple)) or not self.relationships:
+87            raise InvalidExpressionError("Join must have at least one Relationship")
+88        elif not all(isinstance(x, Relationship) for x in self.relationships):
+89            raise InvalidExpressionError("Join expects a list of Relationship objects")
+90
+91        seen: MutableMapping[str, str] = {}
+92        for alias, entity in self.get_alias_mappings():
+93            if alias in seen and seen[alias] != entity:
+94                entities = sorted([entity, seen[alias]])
+95                raise InvalidExpressionError(
+96                    f"alias '{alias}' is duplicated for entities {', '.join(entities)}"
+97                )
+98            seen[alias] = entity
+
+ + +

A collection of relationships that is used in the MATCH section of +the SnQL query. Must contain at least one Relationship, and will make +sure that Entity aliases are not used by different Entities.

+ +
Parameters
+ +
    +
  • relationships: The relationships in the join.
  • +
+ +
Raises
+ +
    +
  • InvalidExpressionError: If two different Entities are using +the same alias, this will be raised.
  • +
+
+ + +
+
+ + Join(relationships: Sequence[Relationship]) + + +
+ + + + +
+
+
+ relationships: Sequence[Relationship] + + +
+ + + + +
+
+ +
+ + def + get_alias_mappings(self) -> 'set[tuple[str, str]]': + + + +
+ +
68    def get_alias_mappings(self) -> set[tuple[str, str]]:
+69        aliases = set()
+70        for rel in self.relationships:
+71            if rel.lhs.alias is not None:
+72                aliases.add((rel.lhs.alias, rel.lhs.name))
+73            if rel.rhs.alias is not None:
+74                aliases.add((rel.rhs.alias, rel.rhs.name))
+75
+76        return aliases
+
+ + + + +
+
+ +
+ + def + get_entities(self) -> 'set[Entity]': + + + +
+ +
78    def get_entities(self) -> set[Entity]:
+79        entities = set()
+80        for rel in self.relationships:
+81            entities.add(rel.lhs)
+82            entities.add(rel.rhs)
+83        return entities
+
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
85    def validate(self) -> None:
+86        if not isinstance(self.relationships, (list, tuple)) or not self.relationships:
+87            raise InvalidExpressionError("Join must have at least one Relationship")
+88        elif not all(isinstance(x, Relationship) for x in self.relationships):
+89            raise InvalidExpressionError("Join expects a list of Relationship objects")
+90
+91        seen: MutableMapping[str, str] = {}
+92        for alias, entity in self.get_alias_mappings():
+93            if alias in seen and seen[alias] != entity:
+94                entities = sorted([entity, seen[alias]])
+95                raise InvalidExpressionError(
+96                    f"alias '{alias}' is duplicated for entities {', '.join(entities)}"
+97                )
+98            seen[alias] = entity
+
+ + + + +
+
+
+ +
+ + class + Lambda(snuba_sdk.expressions.Expression): + + + +
+ +
136class Lambda(Expression):
+137    identifiers: Sequence[str]
+138    transformation: CurriedFunction
+139
+140    def validate(self) -> None:
+141        if not isinstance(self.identifiers, (tuple, list)):
+142            raise InvalidLambdaError("identifiers must be a sequence")
+143        for i in self.identifiers:
+144            if not isinstance(i, str) or not identifier_re.match(i):
+145                raise InvalidLambdaError(f"{i} is not a valid identifier")
+146        if not isinstance(self.transformation, CurriedFunction):
+147            raise InvalidLambdaError("transformation must be a function")
+
+ + + + +
+
+ + Lambda( identifiers: Sequence[str], transformation: CurriedFunction) + + +
+ + + + +
+
+
+ identifiers: Sequence[str] + + +
+ + + + +
+
+
+ transformation: CurriedFunction + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
140    def validate(self) -> None:
+141        if not isinstance(self.identifiers, (tuple, list)):
+142            raise InvalidLambdaError("identifiers must be a sequence")
+143        for i in self.identifiers:
+144            if not isinstance(i, str) or not identifier_re.match(i):
+145                raise InvalidLambdaError(f"{i} is not a valid identifier")
+146        if not isinstance(self.transformation, CurriedFunction):
+147            raise InvalidLambdaError("transformation must be a function")
+
+ + + + +
+
+
+ +
+ + class + Limit(snuba_sdk.expressions.Expression): + + + +
+ +
92class Limit(Expression):
+93    limit: int
+94
+95    def validate(self) -> None:
+96        _validate_int_literal("limit", self.limit, 1, 10000)
+
+ + + + +
+
+ + Limit(limit: int) + + +
+ + + + +
+
+
+ limit: int + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
95    def validate(self) -> None:
+96        _validate_int_literal("limit", self.limit, 1, 10000)
+
+ + + + +
+
+
+ +
+ + class + LimitBy(snuba_sdk.expressions.Expression): + + + +
+ +
47class LimitBy(Expression):
+48    columns: Sequence[Column]
+49    count: int
+50
+51    def validate(self) -> None:
+52        validate_sequence_of_type("LimitBy columns", self.columns, Column, 1)
+53        if not isinstance(self.count, int) or self.count <= 0 or self.count > 10000:
+54            raise InvalidExpressionError(
+55                "LimitBy count must be a positive integer (max 10,000)"
+56            )
+
+ + + + +
+
+ + LimitBy(columns: Sequence[Column], count: int) + + +
+ + + + +
+
+
+ columns: Sequence[Column] + + +
+ + + + +
+
+
+ count: int + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
51    def validate(self) -> None:
+52        validate_sequence_of_type("LimitBy columns", self.columns, Column, 1)
+53        if not isinstance(self.count, int) or self.count <= 0 or self.count > 10000:
+54            raise InvalidExpressionError(
+55                "LimitBy count must be a positive integer (max 10,000)"
+56            )
+
+ + + + +
+
+
+ +
+ + class + Metric: + + + +
+ +
24class Metric:
+25    """
+26    Metric represents a raw metric that is being populated. It can be created with
+27    one of public name, mri or raw ID.
+28    """
+29
+30    public_name: str | None = None
+31    mri: str | None = None
+32    id: int | None = None
+33    entity: str | None = None
+34
+35    def __post_init__(self) -> None:
+36        self.validate()
+37
+38    def get_fields(self) -> Sequence[str]:
+39        self_fields = fields(self)  # Verified the order in the Python source
+40        return tuple(f.name for f in self_fields)
+41
+42    def validate(self) -> None:
+43        if self.public_name is not None and not isinstance(self.public_name, str):
+44            raise InvalidTimeseriesError("public_name must be a string")
+45        if self.mri is not None and not isinstance(self.mri, str):
+46            raise InvalidTimeseriesError("mri must be a string")
+47        if self.id is not None and not isinstance(self.id, int):
+48            raise InvalidTimeseriesError("id must be an integer")
+49        if self.entity is not None and not isinstance(self.entity, str):
+50            raise InvalidTimeseriesError("entity must be a string")
+51
+52        if all(v is None for v in (self.public_name, self.mri, self.id)):
+53            raise InvalidTimeseriesError(
+54                "Metric must have at least one of public_name, mri or id"
+55            )
+56
+57    def set_mri(self, mri: str) -> Metric:
+58        if not isinstance(mri, str):
+59            raise InvalidExpressionError("mri must be an str")
+60        return replace(self, mri=mri)
+61
+62    def set_public_name(self, public_name: str) -> Metric:
+63        if not isinstance(public_name, str):
+64            raise InvalidExpressionError("public_name must be an str")
+65        return replace(self, public_name=public_name)
+66
+67    def set_id(self, id: int) -> Metric:
+68        if not isinstance(id, int):
+69            raise InvalidExpressionError("id must be an int")
+70        return replace(self, id=id)
+71
+72    def set_entity(self, entity: str) -> Metric:
+73        if not isinstance(entity, str):
+74            raise InvalidExpressionError("entity must be an str")
+75        return replace(self, entity=entity)
+
+ + +

Metric represents a raw metric that is being populated. It can be created with +one of public name, mri or raw ID.

+
+ + +
+
+ + Metric( public_name: 'str | None' = None, mri: 'str | None' = None, id: 'int | None' = None, entity: 'str | None' = None) + + +
+ + + + +
+
+
+ public_name: 'str | None' = +None + + +
+ + + + +
+
+
+ mri: 'str | None' = +None + + +
+ + + + +
+
+
+ id: 'int | None' = +None + + +
+ + + + +
+
+
+ entity: 'str | None' = +None + + +
+ + + + +
+
+ +
+ + def + get_fields(self) -> Sequence[str]: + + + +
+ +
38    def get_fields(self) -> Sequence[str]:
+39        self_fields = fields(self)  # Verified the order in the Python source
+40        return tuple(f.name for f in self_fields)
+
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
42    def validate(self) -> None:
+43        if self.public_name is not None and not isinstance(self.public_name, str):
+44            raise InvalidTimeseriesError("public_name must be a string")
+45        if self.mri is not None and not isinstance(self.mri, str):
+46            raise InvalidTimeseriesError("mri must be a string")
+47        if self.id is not None and not isinstance(self.id, int):
+48            raise InvalidTimeseriesError("id must be an integer")
+49        if self.entity is not None and not isinstance(self.entity, str):
+50            raise InvalidTimeseriesError("entity must be a string")
+51
+52        if all(v is None for v in (self.public_name, self.mri, self.id)):
+53            raise InvalidTimeseriesError(
+54                "Metric must have at least one of public_name, mri or id"
+55            )
+
+ + + + +
+
+ +
+ + def + set_mri(self, mri: str) -> Metric: + + + +
+ +
57    def set_mri(self, mri: str) -> Metric:
+58        if not isinstance(mri, str):
+59            raise InvalidExpressionError("mri must be an str")
+60        return replace(self, mri=mri)
+
+ + + + +
+
+ +
+ + def + set_public_name(self, public_name: str) -> Metric: + + + +
+ +
62    def set_public_name(self, public_name: str) -> Metric:
+63        if not isinstance(public_name, str):
+64            raise InvalidExpressionError("public_name must be an str")
+65        return replace(self, public_name=public_name)
+
+ + + + +
+
+ +
+ + def + set_id(self, id: int) -> Metric: + + + +
+ +
67    def set_id(self, id: int) -> Metric:
+68        if not isinstance(id, int):
+69            raise InvalidExpressionError("id must be an int")
+70        return replace(self, id=id)
+
+ + + + +
+
+ +
+ + def + set_entity(self, entity: str) -> Metric: + + + +
+ +
72    def set_entity(self, entity: str) -> Metric:
+73        if not isinstance(entity, str):
+74            raise InvalidExpressionError("entity must be an str")
+75        return replace(self, entity=entity)
+
+ + + + +
+
+
+ +
+ + class + MetricsQuery(snuba_sdk.query.BaseQuery): + + + +
+ +
 18class MetricsQuery(BaseQuery):
+ 19    """
+ 20    A query on a set of timeseries. This class gets translated into a Snuba request string
+ 21    that returns a list of timeseries data. In order to allow this class to be built incrementally,
+ 22    it is not validated until it is serialized. Any specified filters or groupby fields are pushed
+ 23    down to each of the Timeseries in the query field. It is immutable, so any set functions return
+ 24    a new copy of the query, which also allows chaining calls.
+ 25
+ 26    This class is distinct from the Query class to allow for more specific validation and to provide
+ 27    a simpler syntax for writing timeseries queries, which have fewer available features.
+ 28    """
+ 29
+ 30    query: Timeseries | Formula | None = None
+ 31    start: datetime | None = None
+ 32    end: datetime | None = None
+ 33    rollup: Rollup | None = None
+ 34    scope: MetricsScope | None = None
+ 35    limit: Limit | None = None
+ 36    offset: Offset | None = None
+ 37    indexer_mappings: dict[str, str | int] | None = None
+ 38
+ 39    def _replace(self, field: str, value: Any) -> MetricsQuery:
+ 40        new = replace(self, **{field: value})
+ 41        return new
+ 42
+ 43    def set_query(self, query: Formula | Timeseries) -> MetricsQuery:
+ 44        if not isinstance(query, (Formula, Timeseries)):
+ 45            raise InvalidQueryError("query must be a Formula or Timeseries")
+ 46        return self._replace("query", query)
+ 47
+ 48    def set_start(self, start: datetime) -> MetricsQuery:
+ 49        if not isinstance(start, datetime):
+ 50            raise InvalidQueryError("start must be a datetime")
+ 51        return self._replace("start", start)
+ 52
+ 53    def set_end(self, end: datetime) -> MetricsQuery:
+ 54        if not isinstance(end, datetime):
+ 55            raise InvalidQueryError("end must be a datetime")
+ 56        return self._replace("end", end)
+ 57
+ 58    def set_rollup(self, rollup: Rollup) -> MetricsQuery:
+ 59        if not isinstance(rollup, Rollup):
+ 60            raise InvalidQueryError("rollup must be a Rollup")
+ 61        return self._replace("rollup", rollup)
+ 62
+ 63    def set_scope(self, scope: MetricsScope) -> MetricsQuery:
+ 64        if not isinstance(scope, MetricsScope):
+ 65            raise InvalidQueryError("scope must be a MetricsScope")
+ 66        return self._replace("scope", scope)
+ 67
+ 68    def set_limit(self, limit: int) -> MetricsQuery:
+ 69        return self._replace("limit", Limit(limit))
+ 70
+ 71    def set_offset(self, offset: int) -> MetricsQuery:
+ 72        return self._replace("offset", Offset(offset))
+ 73
+ 74    def set_indexer_mappings(
+ 75        self, indexer_mappings: dict[str, str | int]
+ 76    ) -> MetricsQuery:
+ 77        return self._replace("indexer_mappings", indexer_mappings)
+ 78
+ 79    def validate(self) -> None:
+ 80        Validator().visit(self)
+ 81
+ 82    def __str__(self) -> str:
+ 83        result = PRETTY_PRINTER.visit(self)
+ 84        assert isinstance(result, str)
+ 85        return result
+ 86
+ 87    def serialize(self) -> str:
+ 88        self.validate()
+ 89        result = SNQL_PRINTER.visit(self)
+ 90        assert isinstance(result, str)
+ 91        return result
+ 92
+ 93    def print(self) -> str:
+ 94        self.validate()
+ 95        result = PRETTY_PRINTER.visit(self)
+ 96        assert isinstance(result, str)
+ 97        return result
+ 98
+ 99    def serialize_to_mql(self) -> dict[str, str | dict[str, Any]]:
+100        # TODO: when the new MQL snuba endpoint is ready, this method will replace .serialize()
+101        self.validate()
+102        result = MQL_PRINTER.visit(self)
+103        assert isinstance(result, dict)
+104        return result
+
+ + +

A query on a set of timeseries. This class gets translated into a Snuba request string +that returns a list of timeseries data. In order to allow this class to be built incrementally, +it is not validated until it is serialized. Any specified filters or groupby fields are pushed +down to each of the Timeseries in the query field. It is immutable, so any set functions return +a new copy of the query, which also allows chaining calls.

+ +

This class is distinct from the Query class to allow for more specific validation and to provide +a simpler syntax for writing timeseries queries, which have fewer available features.

+
+ + +
+
+ + MetricsQuery( query: 'Timeseries | Formula | None' = None, start: 'datetime | None' = None, end: 'datetime | None' = None, rollup: 'Rollup | None' = None, scope: 'MetricsScope | None' = None, limit: 'Limit | None' = None, offset: 'Offset | None' = None, indexer_mappings: 'dict[str, str | int] | None' = None) + + +
+ + + + +
+
+
+ query: 'Timeseries | Formula | None' = +None + + +
+ + + + +
+
+
+ start: 'datetime | None' = +None + + +
+ + + + +
+
+
+ end: 'datetime | None' = +None + + +
+ + + + +
+
+
+ rollup: 'Rollup | None' = +None + + +
+ + + + +
+
+
+ scope: 'MetricsScope | None' = +None + + +
+ + + + +
+
+
+ limit: 'Limit | None' = +None + + +
+ + + + +
+
+
+ offset: 'Offset | None' = +None + + +
+ + + + +
+
+
+ indexer_mappings: 'dict[str, str | int] | None' = +None + + +
+ + + + +
+
+ +
+ + def + set_query( self, query: 'Formula | Timeseries') -> MetricsQuery: + + + +
+ +
43    def set_query(self, query: Formula | Timeseries) -> MetricsQuery:
+44        if not isinstance(query, (Formula, Timeseries)):
+45            raise InvalidQueryError("query must be a Formula or Timeseries")
+46        return self._replace("query", query)
+
+ + + + +
+
+ +
+ + def + set_start(self, start: datetime.datetime) -> MetricsQuery: + + + +
+ +
48    def set_start(self, start: datetime) -> MetricsQuery:
+49        if not isinstance(start, datetime):
+50            raise InvalidQueryError("start must be a datetime")
+51        return self._replace("start", start)
+
+ + + + +
+
+ +
+ + def + set_end(self, end: datetime.datetime) -> MetricsQuery: + + + +
+ +
53    def set_end(self, end: datetime) -> MetricsQuery:
+54        if not isinstance(end, datetime):
+55            raise InvalidQueryError("end must be a datetime")
+56        return self._replace("end", end)
+
+ + + + +
+
+ +
+ + def + set_rollup( self, rollup: Rollup) -> MetricsQuery: + + + +
+ +
58    def set_rollup(self, rollup: Rollup) -> MetricsQuery:
+59        if not isinstance(rollup, Rollup):
+60            raise InvalidQueryError("rollup must be a Rollup")
+61        return self._replace("rollup", rollup)
+
+ + + + +
+
+ +
+ + def + set_scope( self, scope: MetricsScope) -> MetricsQuery: + + + +
+ +
63    def set_scope(self, scope: MetricsScope) -> MetricsQuery:
+64        if not isinstance(scope, MetricsScope):
+65            raise InvalidQueryError("scope must be a MetricsScope")
+66        return self._replace("scope", scope)
+
+ + + + +
+
+ +
+ + def + set_limit(self, limit: int) -> MetricsQuery: + + + +
+ +
68    def set_limit(self, limit: int) -> MetricsQuery:
+69        return self._replace("limit", Limit(limit))
+
+ + + + +
+
+ +
+ + def + set_offset(self, offset: int) -> MetricsQuery: + + + +
+ +
71    def set_offset(self, offset: int) -> MetricsQuery:
+72        return self._replace("offset", Offset(offset))
+
+ + + + +
+
+ +
+ + def + set_indexer_mappings( self, indexer_mappings: 'dict[str, str | int]') -> MetricsQuery: + + + +
+ +
74    def set_indexer_mappings(
+75        self, indexer_mappings: dict[str, str | int]
+76    ) -> MetricsQuery:
+77        return self._replace("indexer_mappings", indexer_mappings)
+
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
79    def validate(self) -> None:
+80        Validator().visit(self)
+
+ + + + +
+
+ +
+ + def + serialize(self) -> str: + + + +
+ +
87    def serialize(self) -> str:
+88        self.validate()
+89        result = SNQL_PRINTER.visit(self)
+90        assert isinstance(result, str)
+91        return result
+
+ + + + +
+
+ +
+ + def + print(self) -> str: + + + +
+ +
93    def print(self) -> str:
+94        self.validate()
+95        result = PRETTY_PRINTER.visit(self)
+96        assert isinstance(result, str)
+97        return result
+
+ + + + +
+
+ +
+ + def + serialize_to_mql(self) -> 'dict[str, str | dict[str, Any]]': + + + +
+ +
 99    def serialize_to_mql(self) -> dict[str, str | dict[str, Any]]:
+100        # TODO: when the new MQL snuba endpoint is ready, this method will replace .serialize()
+101        self.validate()
+102        result = MQL_PRINTER.visit(self)
+103        assert isinstance(result, dict)
+104        return result
+
+ + + + +
+
+
Inherited Members
+
+
snuba_sdk.query.BaseQuery
+
get_fields
+ +
+
+
+
+
+ +
+ + class + MetricsScope: + + + +
+ +
227class MetricsScope:
+228    """
+229    This contains all the meta information necessary to resolve a metric and to safely query
+230    the metrics dataset. All these values get automatically added to the query conditions.
+231    The idea of this class is to contain all the filter values that are not represented by
+232    tags in the API.
+233
+234    use_case_id is treated separately since it can be derived separate from the MRIs of the
+235    metrics in the outer query.
+236    """
+237
+238    org_ids: list[int]
+239    project_ids: list[int]
+240    use_case_id: str | None = None
+241
+242    def __post_init__(self) -> None:
+243        self.validate()
+244
+245    def validate(self) -> None:
+246        if not list_type(self.org_ids, (int,)):
+247            raise InvalidExpressionError("org_ids must be a list of integers")
+248
+249        if not list_type(self.project_ids, (int,)):
+250            raise InvalidExpressionError("project_ids must be a list of integers")
+251
+252        if self.use_case_id is not None and not isinstance(self.use_case_id, str):
+253            raise InvalidExpressionError("use_case_id must be an str")
+254
+255    def set_use_case_id(self, use_case_id: str) -> MetricsScope:
+256        if not isinstance(use_case_id, str):
+257            raise InvalidExpressionError("use_case_id must be an str")
+258        return replace(self, use_case_id=use_case_id)
+
+ + +

This contains all the meta information necessary to resolve a metric and to safely query +the metrics dataset. All these values get automatically added to the query conditions. +The idea of this class is to contain all the filter values that are not represented by +tags in the API.

+ +

use_case_id is treated separately since it can be derived separate from the MRIs of the +metrics in the outer query.

+
+ + +
+
+ + MetricsScope( org_ids: 'list[int]', project_ids: 'list[int]', use_case_id: 'str | None' = None) + + +
+ + + + +
+
+
+ org_ids: 'list[int]' + + +
+ + + + +
+
+
+ project_ids: 'list[int]' + + +
+ + + + +
+
+
+ use_case_id: 'str | None' = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
245    def validate(self) -> None:
+246        if not list_type(self.org_ids, (int,)):
+247            raise InvalidExpressionError("org_ids must be a list of integers")
+248
+249        if not list_type(self.project_ids, (int,)):
+250            raise InvalidExpressionError("project_ids must be a list of integers")
+251
+252        if self.use_case_id is not None and not isinstance(self.use_case_id, str):
+253            raise InvalidExpressionError("use_case_id must be an str")
+
+ + + + +
+
+ +
+ + def + set_use_case_id(self, use_case_id: str) -> MetricsScope: + + + +
+ +
255    def set_use_case_id(self, use_case_id: str) -> MetricsScope:
+256        if not isinstance(use_case_id, str):
+257            raise InvalidExpressionError("use_case_id must be an str")
+258        return replace(self, use_case_id=use_case_id)
+
+ + + + +
+
+
+
+ MQLContext + + +
+ + + + +
+
+ +
+ + class + Offset(snuba_sdk.expressions.Expression): + + + +
+ +
100class Offset(Expression):
+101    offset: int
+102
+103    def validate(self) -> None:
+104        _validate_int_literal("offset", self.offset, 0, None)
+
+ + + + +
+
+ + Offset(offset: int) + + +
+ + + + +
+
+
+ offset: int + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
103    def validate(self) -> None:
+104        _validate_int_literal("offset", self.offset, 0, None)
+
+ + + + +
+
+
+ +
+ + class + Op(enum.Enum): + + + +
+ +
22class Op(Enum):
+23    GT = ">"
+24    LT = "<"
+25    GTE = ">="
+26    LTE = "<="
+27    EQ = "="
+28    NEQ = "!="
+29    IN = "IN"
+30    NOT_IN = "NOT IN"
+31    LIKE = "LIKE"
+32    NOT_LIKE = "NOT LIKE"
+33    IS_NULL = "IS NULL"
+34    IS_NOT_NULL = "IS NOT NULL"
+35    NOT = "!"
+
+ + +

An enumeration.

+
+ + +
+
+ GT = +<Op.GT: '>'> + + +
+ + + + +
+
+
+ LT = +<Op.LT: '<'> + + +
+ + + + +
+
+
+ GTE = +<Op.GTE: '>='> + + +
+ + + + +
+
+
+ LTE = +<Op.LTE: '<='> + + +
+ + + + +
+
+
+ EQ = +<Op.EQ: '='> + + +
+ + + + +
+
+
+ NEQ = +<Op.NEQ: '!='> + + +
+ + + + +
+
+
+ IN = +<Op.IN: 'IN'> + + +
+ + + + +
+
+
+ NOT_IN = +<Op.NOT_IN: 'NOT IN'> + + +
+ + + + +
+
+
+ LIKE = +<Op.LIKE: 'LIKE'> + + +
+ + + + +
+
+
+ NOT_LIKE = +<Op.NOT_LIKE: 'NOT LIKE'> + + +
+ + + + +
+
+
+ IS_NULL = +<Op.IS_NULL: 'IS NULL'> + + +
+ + + + +
+
+
+ IS_NOT_NULL = +<Op.IS_NOT_NULL: 'IS NOT NULL'> + + +
+ + + + +
+
+
+ NOT = +<Op.NOT: '!'> + + +
+ + + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+ +
+ + class + Or(snuba_sdk.BooleanCondition): + + + +
+ +
142class Or(BooleanCondition):
+143    op: BooleanOp = field(init=False, default=BooleanOp.OR)
+144    conditions: ConditionGroup = field(default_factory=list)
+
+ + + + +
+
+ + Or( conditions: Sequence[Union[BooleanCondition, Condition]] = <factory>) + + +
+ + + + +
+
+
+ op: BooleanOp = +<BooleanOp.OR: 'OR'> + + +
+ + + + +
+
+
+ conditions: Sequence[Union[BooleanCondition, Condition]] + + +
+ + + + +
+
+
Inherited Members
+
+ +
+
+
+
+ +
+ + class + OrderBy(snuba_sdk.expressions.Expression): + + + +
+ +
17class OrderBy(Expression):
+18    exp: Union[Column, CurriedFunction, Function]
+19    direction: Direction
+20
+21    def validate(self) -> None:
+22        if not isinstance(self.exp, (Column, CurriedFunction, Function)):
+23            raise InvalidExpressionError(
+24                "OrderBy expression must be a Column, CurriedFunction or Function"
+25            )
+26        if not isinstance(self.direction, Direction):
+27            raise InvalidExpressionError("OrderBy direction must be a Direction")
+
+ + + + +
+
+ + OrderBy( exp: Union[Column, CurriedFunction, Function], direction: Direction) + + +
+ + + + +
+
+
+ exp: Union[Column, CurriedFunction, Function] + + +
+ + + + +
+
+
+ direction: Direction + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
21    def validate(self) -> None:
+22        if not isinstance(self.exp, (Column, CurriedFunction, Function)):
+23            raise InvalidExpressionError(
+24                "OrderBy expression must be a Column, CurriedFunction or Function"
+25            )
+26        if not isinstance(self.direction, Direction):
+27            raise InvalidExpressionError("OrderBy direction must be a Direction")
+
+ + + + +
+
+
+ +
+ + class + Query(snuba_sdk.query.BaseQuery): + + + +
+ +
 56class Query(BaseQuery):
+ 57    """
+ 58    A code representation of a SnQL query. It is immutable, so any set functions
+ 59    return a new copy of the query. Unlike Expressions it is possible to
+ 60    instantiate a Query that is invalid. Any of the translation functions will
+ 61    validate the query before translating them, so the query must be valid before
+ 62    they are called.
+ 63    """
+ 64
+ 65    # These must be listed in the order that they must appear in the SnQL query.
+ 66    match: Union[Entity, Join, Query]
+ 67    select: Optional[Sequence[SelectableExpression]] = None
+ 68    groupby: Optional[Sequence[SelectableExpression]] = None
+ 69    array_join: Optional[Sequence[Column]] = None
+ 70    where: Optional[ConditionGroup] = None
+ 71    having: Optional[ConditionGroup] = None
+ 72    orderby: Optional[Sequence[OrderBy]] = None
+ 73    limitby: Optional[LimitBy] = None
+ 74    limit: Optional[Limit] = None
+ 75    offset: Optional[Offset] = None
+ 76    granularity: Optional[Granularity] = None
+ 77    totals: Optional[Totals] = None
+ 78
+ 79    def __post_init__(self) -> None:
+ 80        """
+ 81        This has a different validation flow from normal expressions, since a query
+ 82        is not necessarily always correct. For example, you can create a Query with
+ 83        no select columns, which will fail in the validate. However it shouldn't fail
+ 84        right away since the select columns can be added later.
+ 85
+ 86        """
+ 87        if not isinstance(self.match, (Query, Join, Entity)):
+ 88            raise InvalidQueryError("queries must have a valid Entity, Join or Query")
+ 89
+ 90        if isinstance(self.match, Query):
+ 91            try:
+ 92                self.match.validate()
+ 93            except Exception as e:
+ 94                raise InvalidQueryError(f"inner query is invalid: {e}") from e
+ 95
+ 96    def _replace(self, field: str, value: Any) -> Query:
+ 97        new = replace(self, **{field: value})
+ 98        return new
+ 99
+100    def set_match(self, match: Union[Entity, Join, Query]) -> Query:
+101        if not isinstance(match, (Entity, Join, Query)):
+102            raise InvalidQueryError(f"{match} must be a valid Entity, Join or Query")
+103        elif isinstance(match, Query):
+104            try:
+105                match.validate()
+106            except Exception as e:
+107                raise InvalidQueryError(f"inner query is invalid: {e}") from e
+108
+109        return self._replace("match", match)
+110
+111    def set_select(self, select: Sequence[SelectableExpression]) -> Query:
+112        if not list_type(select, SelectableExpressionType) or not select:
+113            raise InvalidQueryError(
+114                "select clause must be a non-empty list of SelectableExpression"
+115            )
+116        return self._replace("select", select)
+117
+118    def set_groupby(self, groupby: Sequence[SelectableExpression]) -> Query:
+119        if not list_type(groupby, SelectableExpressionType):
+120            raise InvalidQueryError(
+121                "groupby clause must be a list of SelectableExpression"
+122            )
+123        return self._replace("groupby", groupby)
+124
+125    def set_array_join(self, array_join: Sequence[Column]) -> Query:
+126        if not list_type(array_join, [Column]) or len(array_join) < 1:
+127            raise InvalidQueryError("array join must be a non-empty list of Column")
+128
+129        return self._replace("array_join", array_join)
+130
+131    def set_where(self, conditions: ConditionGroup) -> Query:
+132        if not list_type(conditions, (BooleanCondition, Condition)):
+133            raise InvalidQueryError("where clause must be a list of conditions")
+134        return self._replace("where", conditions)
+135
+136    def set_having(self, conditions: ConditionGroup) -> Query:
+137        if not list_type(conditions, (BooleanCondition, Condition)):
+138            raise InvalidQueryError("having clause must be a list of conditions")
+139        return self._replace("having", conditions)
+140
+141    def set_orderby(self, orderby: Sequence[OrderBy]) -> Query:
+142        if not list_type(orderby, (OrderBy,)):
+143            raise InvalidQueryError("orderby clause must be a list of OrderBy")
+144        return self._replace("orderby", orderby)
+145
+146    def set_limitby(self, limitby: LimitBy) -> Query:
+147        if not isinstance(limitby, LimitBy):
+148            raise InvalidQueryError("limitby clause must be a LimitBy")
+149        return self._replace("limitby", limitby)
+150
+151    def set_limit(self, limit: int) -> Query:
+152        return self._replace("limit", Limit(limit))
+153
+154    def set_offset(self, offset: int) -> Query:
+155        return self._replace("offset", Offset(offset))
+156
+157    def set_granularity(self, granularity: int) -> Query:
+158        return self._replace("granularity", Granularity(granularity))
+159
+160    def set_totals(self, totals: bool) -> Query:
+161        return self._replace("totals", Totals(totals))
+162
+163    def validate(self) -> None:
+164        VALIDATOR.visit(self)
+165
+166    def __str__(self) -> str:
+167        return self.serialize()
+168
+169    def serialize(self) -> str:
+170        self.validate()
+171        return PRINTER.visit(self)
+172
+173    def print(self) -> str:
+174        self.validate()
+175        return PRETTY_PRINTER.visit(self)
+
+ + +

A code representation of a SnQL query. It is immutable, so any set functions +return a new copy of the query. Unlike Expressions it is possible to +instantiate a Query that is invalid. Any of the translation functions will +validate the query before translating them, so the query must be valid before +they are called.

+
+ + +
+
+ + Query( match: Union[Entity, Join, Query], select: Union[Sequence[Union[AliasedExpression, Column, CurriedFunction, Function]], NoneType] = None, groupby: Union[Sequence[Union[AliasedExpression, Column, CurriedFunction, Function]], NoneType] = None, array_join: Union[Sequence[Column], NoneType] = None, where: Union[Sequence[Union[BooleanCondition, Condition]], NoneType] = None, having: Union[Sequence[Union[BooleanCondition, Condition]], NoneType] = None, orderby: Union[Sequence[OrderBy], NoneType] = None, limitby: Union[LimitBy, NoneType] = None, limit: Union[Limit, NoneType] = None, offset: Union[Offset, NoneType] = None, granularity: Union[Granularity, NoneType] = None, totals: Union[Totals, NoneType] = None) + + +
+ + + + +
+
+
+ match: Union[Entity, Join, Query] + + +
+ + + + +
+
+
+ select: Union[Sequence[Union[AliasedExpression, Column, CurriedFunction, Function]], NoneType] = +None + + +
+ + + + +
+
+
+ groupby: Union[Sequence[Union[AliasedExpression, Column, CurriedFunction, Function]], NoneType] = +None + + +
+ + + + +
+
+
+ array_join: Union[Sequence[Column], NoneType] = +None + + +
+ + + + +
+
+
+ where: Union[Sequence[Union[BooleanCondition, Condition]], NoneType] = +None + + +
+ + + + +
+
+
+ having: Union[Sequence[Union[BooleanCondition, Condition]], NoneType] = +None + + +
+ + + + +
+
+
+ orderby: Union[Sequence[OrderBy], NoneType] = +None + + +
+ + + + +
+
+
+ limitby: Union[LimitBy, NoneType] = +None + + +
+ + + + +
+
+
+ limit: Union[Limit, NoneType] = +None + + +
+ + + + +
+
+
+ offset: Union[Offset, NoneType] = +None + + +
+ + + + +
+
+
+ granularity: Union[Granularity, NoneType] = +None + + +
+ + + + +
+
+
+ totals: Union[Totals, NoneType] = +None + + +
+ + + + +
+
+ +
+ + def + set_match( self, match: Union[Entity, Join, Query]) -> Query: + + + +
+ +
100    def set_match(self, match: Union[Entity, Join, Query]) -> Query:
+101        if not isinstance(match, (Entity, Join, Query)):
+102            raise InvalidQueryError(f"{match} must be a valid Entity, Join or Query")
+103        elif isinstance(match, Query):
+104            try:
+105                match.validate()
+106            except Exception as e:
+107                raise InvalidQueryError(f"inner query is invalid: {e}") from e
+108
+109        return self._replace("match", match)
+
+ + + + +
+
+ +
+ + def + set_select( self, select: Sequence[Union[AliasedExpression, Column, CurriedFunction, Function]]) -> Query: + + + +
+ +
111    def set_select(self, select: Sequence[SelectableExpression]) -> Query:
+112        if not list_type(select, SelectableExpressionType) or not select:
+113            raise InvalidQueryError(
+114                "select clause must be a non-empty list of SelectableExpression"
+115            )
+116        return self._replace("select", select)
+
+ + + + +
+
+ +
+ + def + set_groupby( self, groupby: Sequence[Union[AliasedExpression, Column, CurriedFunction, Function]]) -> Query: + + + +
+ +
118    def set_groupby(self, groupby: Sequence[SelectableExpression]) -> Query:
+119        if not list_type(groupby, SelectableExpressionType):
+120            raise InvalidQueryError(
+121                "groupby clause must be a list of SelectableExpression"
+122            )
+123        return self._replace("groupby", groupby)
+
+ + + + +
+
+ +
+ + def + set_array_join( self, array_join: Sequence[Column]) -> Query: + + + +
+ +
125    def set_array_join(self, array_join: Sequence[Column]) -> Query:
+126        if not list_type(array_join, [Column]) or len(array_join) < 1:
+127            raise InvalidQueryError("array join must be a non-empty list of Column")
+128
+129        return self._replace("array_join", array_join)
+
+ + + + +
+
+ +
+ + def + set_where( self, conditions: Sequence[Union[BooleanCondition, Condition]]) -> Query: + + + +
+ +
131    def set_where(self, conditions: ConditionGroup) -> Query:
+132        if not list_type(conditions, (BooleanCondition, Condition)):
+133            raise InvalidQueryError("where clause must be a list of conditions")
+134        return self._replace("where", conditions)
+
+ + + + +
+
+ +
+ + def + set_having( self, conditions: Sequence[Union[BooleanCondition, Condition]]) -> Query: + + + +
+ +
136    def set_having(self, conditions: ConditionGroup) -> Query:
+137        if not list_type(conditions, (BooleanCondition, Condition)):
+138            raise InvalidQueryError("having clause must be a list of conditions")
+139        return self._replace("having", conditions)
+
+ + + + +
+
+ +
+ + def + set_orderby( self, orderby: Sequence[OrderBy]) -> Query: + + + +
+ +
141    def set_orderby(self, orderby: Sequence[OrderBy]) -> Query:
+142        if not list_type(orderby, (OrderBy,)):
+143            raise InvalidQueryError("orderby clause must be a list of OrderBy")
+144        return self._replace("orderby", orderby)
+
+ + + + +
+
+ +
+ + def + set_limitby(self, limitby: LimitBy) -> Query: + + + +
+ +
146    def set_limitby(self, limitby: LimitBy) -> Query:
+147        if not isinstance(limitby, LimitBy):
+148            raise InvalidQueryError("limitby clause must be a LimitBy")
+149        return self._replace("limitby", limitby)
+
+ + + + +
+
+ +
+ + def + set_limit(self, limit: int) -> Query: + + + +
+ +
151    def set_limit(self, limit: int) -> Query:
+152        return self._replace("limit", Limit(limit))
+
+ + + + +
+
+ +
+ + def + set_offset(self, offset: int) -> Query: + + + +
+ +
154    def set_offset(self, offset: int) -> Query:
+155        return self._replace("offset", Offset(offset))
+
+ + + + +
+
+ +
+ + def + set_granularity(self, granularity: int) -> Query: + + + +
+ +
157    def set_granularity(self, granularity: int) -> Query:
+158        return self._replace("granularity", Granularity(granularity))
+
+ + + + +
+
+ +
+ + def + set_totals(self, totals: bool) -> Query: + + + +
+ +
160    def set_totals(self, totals: bool) -> Query:
+161        return self._replace("totals", Totals(totals))
+
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
163    def validate(self) -> None:
+164        VALIDATOR.visit(self)
+
+ + + + +
+
+ +
+ + def + serialize(self) -> str: + + + +
+ +
169    def serialize(self) -> str:
+170        self.validate()
+171        return PRINTER.visit(self)
+
+ + + + +
+
+ +
+ + def + print(self) -> str: + + + +
+ +
173    def print(self) -> str:
+174        self.validate()
+175        return PRETTY_PRINTER.visit(self)
+
+ + + + +
+
+
Inherited Members
+
+
snuba_sdk.query.BaseQuery
+
get_fields
+ +
+
+
+
+
+ +
+ + class + Relationship(snuba_sdk.expressions.Expression): + + + +
+ +
12class Relationship(Expression):
+13    """
+14    A representation of a relationship between two Entities. The relationship
+15    name should be defined in the data model of the LHS and entity in Snuba.
+16    Both Entities must have a valid alias, which will be used to qualify the
+17    columns in the SnQL query.
+18
+19    :param lhs: The Entity that owns the relationship.
+20    :type name: Entity
+21    :param name: The name of the relationship on the LHS Entity.
+22    :type name: str
+23    :param rhs: The Entity connected to the LHS using the relationship.
+24    :type name: Entity
+25
+26    :raises InvalidExpressionError: If the incorrect types are used or if either
+27        of the Entities does not have an alias.
+28
+29    """
+30
+31    lhs: Entity
+32    name: str
+33    rhs: Entity
+34
+35    def validate(self) -> None:
+36        def valid_entity(e: Any) -> None:
+37            if not isinstance(e, Entity):
+38                raise InvalidExpressionError(f"'{e}' must be an Entity")
+39            elif e.alias is None:
+40                raise InvalidExpressionError(f"{e} must have a valid alias")
+41
+42        valid_entity(self.lhs)
+43        valid_entity(self.rhs)
+44
+45        if not isinstance(self.name, str) or not self.name:
+46            raise InvalidExpressionError(
+47                f"'{self.name}' is not a valid relationship name"
+48            )
+
+ + +

A representation of a relationship between two Entities. The relationship +name should be defined in the data model of the LHS and entity in Snuba. +Both Entities must have a valid alias, which will be used to qualify the +columns in the SnQL query.

+ +
Parameters
+ +
    +
  • lhs: The Entity that owns the relationship.
  • +
  • name: The name of the relationship on the LHS Entity.
  • +
  • rhs: The Entity connected to the LHS using the relationship.
  • +
+ +
Raises
+ +
    +
  • InvalidExpressionError: If the incorrect types are used or if either +of the Entities does not have an alias.
  • +
+
+ + +
+
+ + Relationship( lhs: Entity, name: str, rhs: Entity) + + +
+ + + + +
+
+
+ lhs: Entity + + +
+ + + + +
+
+
+ name: str + + +
+ + + + +
+
+
+ rhs: Entity + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
35    def validate(self) -> None:
+36        def valid_entity(e: Any) -> None:
+37            if not isinstance(e, Entity):
+38                raise InvalidExpressionError(f"'{e}' must be an Entity")
+39            elif e.alias is None:
+40                raise InvalidExpressionError(f"{e} must have a valid alias")
+41
+42        valid_entity(self.lhs)
+43        valid_entity(self.rhs)
+44
+45        if not isinstance(self.name, str) or not self.name:
+46            raise InvalidExpressionError(
+47                f"'{self.name}' is not a valid relationship name"
+48            )
+
+ + + + +
+
+
+ +
+ + class + Request: + + + +
+ +
 47class Request:
+ 48    dataset: str
+ 49    app_id: str
+ 50    query: BaseQuery
+ 51    flags: Flags = field(default_factory=Flags)
+ 52    parent_api: str = "<unknown>"
+ 53    tenant_ids: dict[str, str | int] = field(default_factory=dict)
+ 54
+ 55    def validate(self) -> None:
+ 56        if not self.dataset or not isinstance(self.dataset, str):
+ 57            raise InvalidRequestError("Request must have a valid dataset")
+ 58        elif not FLAG_RE.match(self.dataset):
+ 59            raise InvalidRequestError(f"'{self.dataset}' is not a valid dataset")
+ 60
+ 61        if not self.app_id or not isinstance(self.app_id, str):
+ 62            raise InvalidRequestError("Request must have a valid app_id")
+ 63        if not FLAG_RE.match(self.app_id):
+ 64            raise InvalidRequestError(f"'{self.app_id}' is not a valid app_id")
+ 65
+ 66        if not self.parent_api or not isinstance(self.parent_api, str):
+ 67            raise InvalidRequestError(f"`{self.parent_api}` is not a valid parent_api")
+ 68
+ 69        if not isinstance(self.tenant_ids, dict):
+ 70            raise InvalidRequestError("Request must have a `tenant_ids` dictionary")
+ 71
+ 72        self.query.validate()
+ 73        if self.flags is not None:
+ 74            self.flags.validate()
+ 75
+ 76    def to_dict(self, mql: bool = False) -> dict[str, bool | str | dict[str, Any]]:
+ 77        self.validate()
+ 78        flags = self.flags.to_dict() if self.flags is not None else {}
+ 79
+ 80        # ret: dict[str, bool | str | dict[str, str | int]] = {}
+ 81        # Feature flag just for initial testing
+ 82        mql_context = None
+ 83        if mql and isinstance(self.query, MetricsQuery):
+ 84            serialized_mql = self.query.serialize_to_mql()
+ 85            mql_context = serialized_mql["mql_context"]
+ 86            query = str(serialized_mql["mql"])
+ 87        else:
+ 88            query = self.query.serialize()
+ 89
+ 90        ret: dict[str, bool | str | dict[str, Any]] = {
+ 91            **flags,
+ 92            "query": query,
+ 93            "dataset": self.dataset,
+ 94            "app_id": self.app_id,
+ 95            "tenant_ids": self.tenant_ids,
+ 96            "parent_api": self.parent_api,
+ 97        }
+ 98        if mql_context is not None:
+ 99            ret["mql_context"] = mql_context
+100        return ret
+101
+102    def serialize(self) -> str:
+103        return json.dumps(self.to_dict())
+104
+105    def serialize_mql(self) -> str:
+106        # NOTE: This function is temporary, just to help with a cutover in the Sentry codebase.
+107        # It will be removed in a future version.
+108        return json.dumps(self.to_dict(mql=True))
+109
+110    def __str__(self) -> str:
+111        return self.serialize()
+112
+113    def print(self, mql: bool = False) -> str:
+114        self.validate()
+115        output = self.to_dict(mql)
+116        return json.dumps(output, sort_keys=True, indent=4 * " ")
+
+ + + + +
+
+ + Request( dataset: str, app_id: str, query: snuba_sdk.query.BaseQuery, flags: Flags = <factory>, parent_api: str = '<unknown>', tenant_ids: 'dict[str, str | int]' = <factory>) + + +
+ + + + +
+
+
+ dataset: str + + +
+ + + + +
+
+
+ app_id: str + + +
+ + + + +
+
+
+ query: snuba_sdk.query.BaseQuery + + +
+ + + + +
+
+
+ flags: Flags + + +
+ + + + +
+
+
+ parent_api: str = +'<unknown>' + + +
+ + + + +
+
+
+ tenant_ids: 'dict[str, str | int]' + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
55    def validate(self) -> None:
+56        if not self.dataset or not isinstance(self.dataset, str):
+57            raise InvalidRequestError("Request must have a valid dataset")
+58        elif not FLAG_RE.match(self.dataset):
+59            raise InvalidRequestError(f"'{self.dataset}' is not a valid dataset")
+60
+61        if not self.app_id or not isinstance(self.app_id, str):
+62            raise InvalidRequestError("Request must have a valid app_id")
+63        if not FLAG_RE.match(self.app_id):
+64            raise InvalidRequestError(f"'{self.app_id}' is not a valid app_id")
+65
+66        if not self.parent_api or not isinstance(self.parent_api, str):
+67            raise InvalidRequestError(f"`{self.parent_api}` is not a valid parent_api")
+68
+69        if not isinstance(self.tenant_ids, dict):
+70            raise InvalidRequestError("Request must have a `tenant_ids` dictionary")
+71
+72        self.query.validate()
+73        if self.flags is not None:
+74            self.flags.validate()
+
+ + + + +
+
+ +
+ + def + to_dict(self, mql: bool = False) -> 'dict[str, bool | str | dict[str, Any]]': + + + +
+ +
 76    def to_dict(self, mql: bool = False) -> dict[str, bool | str | dict[str, Any]]:
+ 77        self.validate()
+ 78        flags = self.flags.to_dict() if self.flags is not None else {}
+ 79
+ 80        # ret: dict[str, bool | str | dict[str, str | int]] = {}
+ 81        # Feature flag just for initial testing
+ 82        mql_context = None
+ 83        if mql and isinstance(self.query, MetricsQuery):
+ 84            serialized_mql = self.query.serialize_to_mql()
+ 85            mql_context = serialized_mql["mql_context"]
+ 86            query = str(serialized_mql["mql"])
+ 87        else:
+ 88            query = self.query.serialize()
+ 89
+ 90        ret: dict[str, bool | str | dict[str, Any]] = {
+ 91            **flags,
+ 92            "query": query,
+ 93            "dataset": self.dataset,
+ 94            "app_id": self.app_id,
+ 95            "tenant_ids": self.tenant_ids,
+ 96            "parent_api": self.parent_api,
+ 97        }
+ 98        if mql_context is not None:
+ 99            ret["mql_context"] = mql_context
+100        return ret
+
+ + + + +
+
+ +
+ + def + serialize(self) -> str: + + + +
+ +
102    def serialize(self) -> str:
+103        return json.dumps(self.to_dict())
+
+ + + + +
+
+ +
+ + def + serialize_mql(self) -> str: + + + +
+ +
105    def serialize_mql(self) -> str:
+106        # NOTE: This function is temporary, just to help with a cutover in the Sentry codebase.
+107        # It will be removed in a future version.
+108        return json.dumps(self.to_dict(mql=True))
+
+ + + + +
+
+ +
+ + def + print(self, mql: bool = False) -> str: + + + +
+ +
113    def print(self, mql: bool = False) -> str:
+114        self.validate()
+115        output = self.to_dict(mql)
+116        return json.dumps(output, sort_keys=True, indent=4 * " ")
+
+ + + + +
+
+
+ +
+ + class + Rollup: + + + +
+ +
173class Rollup:
+174    """
+175    Rollup instructs how the timeseries queries should be grouped on time. If the query is for a set of timeseries, then
+176    the interval field should be specified. It is the number of seconds to group the timeseries by.
+177    For a query that returns only the totals, specify Totals(True). A totals query can be ordered using the orderby field.
+178    If totals is set to True and the interval is specified, then an extra row will be returned in the result with the totals
+179    for the timeseries.
+180    """
+181
+182    interval: int | None = None
+183    totals: bool | None = None
+184    orderby: Direction | None = None  # TODO: This doesn't make sense: ordered by what?
+185    granularity: int | None = None
+186
+187    def __post_init__(self) -> None:
+188        self.validate()
+189
+190    def validate(self) -> None:
+191        # The interval is used to determine how the timestamp is rolled up in the group by of the query.
+192        # The granularity is separate since it ultimately determines which data we retrieve.
+193        if self.granularity and self.granularity not in ALLOWED_GRANULARITIES:
+194            raise InvalidExpressionError(
+195                f"granularity must be an integer and one of {ALLOWED_GRANULARITIES}"
+196            )
+197
+198        if self.interval is not None:
+199            _validate_int_literal(
+200                "interval", self.interval, 10, None
+201            )  # Minimum 10 seconds
+202            if self.granularity is not None and self.interval < self.granularity:
+203                raise InvalidExpressionError(
+204                    "interval must be greater than or equal to granularity"
+205                )
+206
+207        if self.totals is not None:
+208            if not isinstance(self.totals, bool):
+209                raise InvalidExpressionError("totals must be a boolean")
+210
+211        if self.interval is None and self.totals is None:
+212            raise InvalidExpressionError(
+213                "Rollup must have at least one of interval or totals"
+214            )
+215
+216        if self.orderby is not None:
+217            if not isinstance(self.orderby, Direction):
+218                raise InvalidExpressionError("orderby must be a Direction object")
+219
+220        if self.interval is not None and self.orderby is not None:
+221            raise InvalidExpressionError(
+222                "Timeseries queries can't be ordered when using interval"
+223            )
+
+ + +

Rollup instructs how the timeseries queries should be grouped on time. If the query is for a set of timeseries, then +the interval field should be specified. It is the number of seconds to group the timeseries by. +For a query that returns only the totals, specify Totals(True). A totals query can be ordered using the orderby field. +If totals is set to True and the interval is specified, then an extra row will be returned in the result with the totals +for the timeseries.

+
+ + +
+
+ + Rollup( interval: 'int | None' = None, totals: 'bool | None' = None, orderby: 'Direction | None' = None, granularity: 'int | None' = None) + + +
+ + + + +
+
+
+ interval: 'int | None' = +None + + +
+ + + + +
+
+
+ totals: 'bool | None' = +None + + +
+ + + + +
+
+
+ orderby: 'Direction | None' = +None + + +
+ + + + +
+
+
+ granularity: 'int | None' = +None + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
190    def validate(self) -> None:
+191        # The interval is used to determine how the timestamp is rolled up in the group by of the query.
+192        # The granularity is separate since it ultimately determines which data we retrieve.
+193        if self.granularity and self.granularity not in ALLOWED_GRANULARITIES:
+194            raise InvalidExpressionError(
+195                f"granularity must be an integer and one of {ALLOWED_GRANULARITIES}"
+196            )
+197
+198        if self.interval is not None:
+199            _validate_int_literal(
+200                "interval", self.interval, 10, None
+201            )  # Minimum 10 seconds
+202            if self.granularity is not None and self.interval < self.granularity:
+203                raise InvalidExpressionError(
+204                    "interval must be greater than or equal to granularity"
+205                )
+206
+207        if self.totals is not None:
+208            if not isinstance(self.totals, bool):
+209                raise InvalidExpressionError("totals must be a boolean")
+210
+211        if self.interval is None and self.totals is None:
+212            raise InvalidExpressionError(
+213                "Rollup must have at least one of interval or totals"
+214            )
+215
+216        if self.orderby is not None:
+217            if not isinstance(self.orderby, Direction):
+218                raise InvalidExpressionError("orderby must be a Direction object")
+219
+220        if self.interval is not None and self.orderby is not None:
+221            raise InvalidExpressionError(
+222                "Timeseries queries can't be ordered when using interval"
+223            )
+
+ + + + +
+
+
+ +
+ + class + Timeseries: + + + +
+ +
 79class Timeseries:
+ 80    """
+ 81    A code representation of a single timeseries. This is the basic unit of a metrics query.
+ 82    A raw metric, aggregated by an aggregate function. It can be filtered by tag conditions.
+ 83    It can also grouped by a set of tag values, which will return one timeseries for each unique
+ 84    grouping of tag values.
+ 85    """
+ 86
+ 87    metric: Metric
+ 88    aggregate: str
+ 89    aggregate_params: list[Any] | None = None
+ 90    filters: ConditionGroup | None = None
+ 91    groupby: list[Column | AliasedExpression] | None = None
+ 92
+ 93    def __post_init__(self) -> None:
+ 94        self.validate()
+ 95
+ 96    def get_fields(self) -> Sequence[str]:
+ 97        self_fields = fields(self)  # Verified the order in the Python source
+ 98        return tuple(f.name for f in self_fields)
+ 99
+100    def validate(self) -> None:
+101        if not isinstance(self.metric, Metric):
+102            raise InvalidTimeseriesError("metric must be an instance of a Metric")
+103        self.metric.validate()
+104
+105        # TODO: Restrict which specific aggregates are allowed
+106        # TODO: Validate aggregate_params based on the aggregate supplied e.g. quantile needs a float
+107        if not isinstance(self.aggregate, str):
+108            raise InvalidTimeseriesError("aggregate must be a string")
+109        if self.aggregate_params is not None:
+110            if not isinstance(self.aggregate_params, list):
+111                raise InvalidTimeseriesError("aggregate_params must be a list")
+112            for p in self.aggregate_params:
+113                if not is_literal(p):
+114                    raise InvalidTimeseriesError(
+115                        "aggregate_params can only be literal types"
+116                    )
+117
+118        # TODO: Validate these are tag conditions only
+119        # TODO: Validate these are simple conditions e.g. tag[x] op literal
+120        if self.filters is not None:
+121            if not isinstance(self.filters, list):
+122                raise InvalidTimeseriesError("filters must be a list")
+123            for f in self.filters:
+124                if not isinstance(f, (Condition, BooleanCondition)):
+125                    raise InvalidTimeseriesError("filters must be a list of Conditions")
+126
+127        # TODO: Can you group by meta information like project_id?
+128        # TODO: Validate these are appropriate columns for grouping
+129        if self.groupby is not None:
+130            if not isinstance(self.groupby, list):
+131                raise InvalidTimeseriesError("groupby must be a list")
+132            for g in self.groupby:
+133                if not isinstance(g, (Column, AliasedExpression)):
+134                    raise InvalidTimeseriesError(
+135                        "groupby must be a list of Columns or AliasedExpression"
+136                    )
+137
+138    def set_metric(self, metric: Metric) -> Timeseries:
+139        if not isinstance(metric, Metric):
+140            raise InvalidTimeseriesError("metric must be a Metric")
+141        return replace(self, metric=metric)
+142
+143    def set_aggregate(
+144        self, aggregate: str, aggregate_params: list[Any] | None = None
+145    ) -> Timeseries:
+146        if not isinstance(aggregate, str):
+147            raise InvalidTimeseriesError("aggregate must be a str")
+148        if aggregate_params is not None and not isinstance(aggregate_params, list):
+149            raise InvalidTimeseriesError("aggregate_params must be a list")
+150        return replace(self, aggregate=aggregate, aggregate_params=aggregate_params)
+151
+152    def set_filters(self, filters: ConditionGroup | None) -> Timeseries:
+153        if filters is not None and not list_type(
+154            filters, (BooleanCondition, Condition)
+155        ):
+156            raise InvalidTimeseriesError("filters must be a list of Conditions")
+157        return replace(self, filters=filters)
+158
+159    def set_groupby(
+160        self, groupby: list[Column | AliasedExpression] | None
+161    ) -> Timeseries:
+162        if groupby is not None and not list_type(groupby, (Column, AliasedExpression)):
+163            raise InvalidTimeseriesError(
+164                "groupby must be a list of Columns or AliasedExpression"
+165            )
+166        return replace(self, groupby=groupby)
+
+ + +

A code representation of a single timeseries. This is the basic unit of a metrics query. +A raw metric, aggregated by an aggregate function. It can be filtered by tag conditions. +It can also grouped by a set of tag values, which will return one timeseries for each unique +grouping of tag values.

+
+ + +
+
+ + Timeseries( metric: Metric, aggregate: str, aggregate_params: 'list[Any] | None' = None, filters: 'ConditionGroup | None' = None, groupby: 'list[Column | AliasedExpression] | None' = None) + + +
+ + + + +
+
+
+ metric: Metric + + +
+ + + + +
+
+
+ aggregate: str + + +
+ + + + +
+
+
+ aggregate_params: 'list[Any] | None' = +None + + +
+ + + + +
+
+
+ filters: 'ConditionGroup | None' = +None + + +
+ + + + +
+
+
+ groupby: 'list[Column | AliasedExpression] | None' = +None + + +
+ + + + +
+
+ +
+ + def + get_fields(self) -> Sequence[str]: + + + +
+ +
96    def get_fields(self) -> Sequence[str]:
+97        self_fields = fields(self)  # Verified the order in the Python source
+98        return tuple(f.name for f in self_fields)
+
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
100    def validate(self) -> None:
+101        if not isinstance(self.metric, Metric):
+102            raise InvalidTimeseriesError("metric must be an instance of a Metric")
+103        self.metric.validate()
+104
+105        # TODO: Restrict which specific aggregates are allowed
+106        # TODO: Validate aggregate_params based on the aggregate supplied e.g. quantile needs a float
+107        if not isinstance(self.aggregate, str):
+108            raise InvalidTimeseriesError("aggregate must be a string")
+109        if self.aggregate_params is not None:
+110            if not isinstance(self.aggregate_params, list):
+111                raise InvalidTimeseriesError("aggregate_params must be a list")
+112            for p in self.aggregate_params:
+113                if not is_literal(p):
+114                    raise InvalidTimeseriesError(
+115                        "aggregate_params can only be literal types"
+116                    )
+117
+118        # TODO: Validate these are tag conditions only
+119        # TODO: Validate these are simple conditions e.g. tag[x] op literal
+120        if self.filters is not None:
+121            if not isinstance(self.filters, list):
+122                raise InvalidTimeseriesError("filters must be a list")
+123            for f in self.filters:
+124                if not isinstance(f, (Condition, BooleanCondition)):
+125                    raise InvalidTimeseriesError("filters must be a list of Conditions")
+126
+127        # TODO: Can you group by meta information like project_id?
+128        # TODO: Validate these are appropriate columns for grouping
+129        if self.groupby is not None:
+130            if not isinstance(self.groupby, list):
+131                raise InvalidTimeseriesError("groupby must be a list")
+132            for g in self.groupby:
+133                if not isinstance(g, (Column, AliasedExpression)):
+134                    raise InvalidTimeseriesError(
+135                        "groupby must be a list of Columns or AliasedExpression"
+136                    )
+
+ + + + +
+
+ +
+ + def + set_metric( self, metric: Metric) -> Timeseries: + + + +
+ +
138    def set_metric(self, metric: Metric) -> Timeseries:
+139        if not isinstance(metric, Metric):
+140            raise InvalidTimeseriesError("metric must be a Metric")
+141        return replace(self, metric=metric)
+
+ + + + +
+
+ +
+ + def + set_aggregate( self, aggregate: str, aggregate_params: 'list[Any] | None' = None) -> Timeseries: + + + +
+ +
143    def set_aggregate(
+144        self, aggregate: str, aggregate_params: list[Any] | None = None
+145    ) -> Timeseries:
+146        if not isinstance(aggregate, str):
+147            raise InvalidTimeseriesError("aggregate must be a str")
+148        if aggregate_params is not None and not isinstance(aggregate_params, list):
+149            raise InvalidTimeseriesError("aggregate_params must be a list")
+150        return replace(self, aggregate=aggregate, aggregate_params=aggregate_params)
+
+ + + + +
+
+ +
+ + def + set_filters( self, filters: 'ConditionGroup | None') -> Timeseries: + + + +
+ +
152    def set_filters(self, filters: ConditionGroup | None) -> Timeseries:
+153        if filters is not None and not list_type(
+154            filters, (BooleanCondition, Condition)
+155        ):
+156            raise InvalidTimeseriesError("filters must be a list of Conditions")
+157        return replace(self, filters=filters)
+
+ + + + +
+
+ +
+ + def + set_groupby( self, groupby: 'list[Column | AliasedExpression] | None') -> Timeseries: + + + +
+ +
159    def set_groupby(
+160        self, groupby: list[Column | AliasedExpression] | None
+161    ) -> Timeseries:
+162        if groupby is not None and not list_type(groupby, (Column, AliasedExpression)):
+163            raise InvalidTimeseriesError(
+164                "groupby must be a list of Columns or AliasedExpression"
+165            )
+166        return replace(self, groupby=groupby)
+
+ + + + +
+
+
+ +
+ + class + Totals(snuba_sdk.expressions.Expression): + + + +
+ +
116class Totals(Expression):
+117    totals: bool
+118
+119    def validate(self) -> None:
+120        if not isinstance(self.totals, bool):
+121            raise InvalidExpressionError("totals must be a boolean")
+
+ + + + +
+
+ + Totals(totals: bool) + + +
+ + + + +
+
+
+ totals: bool + + +
+ + + + +
+
+ +
+ + def + validate(self) -> None: + + + +
+ +
119    def validate(self) -> None:
+120        if not isinstance(self.totals, bool):
+121            raise InvalidExpressionError("totals must be a boolean")
+
+ + + + +
+
+
+ + \ No newline at end of file