Merge pull request #3546 from influxdata/ifql/schema-explorer

Ifql/schema explorer
pull/10616/head
Andrew Watkins 2018-05-31 15:49:17 -07:00 committed by GitHub
commit be1316b92a
41 changed files with 1777 additions and 750 deletions

View File

@ -2,7 +2,12 @@ jest.mock('src/utils/ajax', () => require('mocks/utils/ajax'))
export const getSuggestions = jest.fn(() => Promise.resolve([]))
export const getAST = jest.fn(() => Promise.resolve({}))
export const getDatabases = jest.fn(() =>
Promise.resolve(['db1', 'db2', 'db3'])
const showDatabasesResponse = {
data: {
results: [{series: [{columns: ['name'], values: [['mydb1'], ['mydb2']]}]}],
},
}
export const showDatabases = jest.fn(() =>
Promise.resolve(showDatabasesResponse)
)
export const getTimeSeries = jest.fn(() => Promise.resolve({data: ''}))

View File

@ -3,7 +3,7 @@ import _ from 'lodash'
import AJAX from 'src/utils/ajax'
import {Service, ScriptResult} from 'src/types'
import {updateService} from 'src/shared/apis'
import {parseResults} from 'src/shared/parsing/ifql'
import {parseResults} from 'src/shared/parsing/v2/results'
export const getSuggestions = async (url: string) => {
try {

View File

@ -6,9 +6,11 @@ import VariableName from 'src/ifql/components/VariableName'
import FuncSelector from 'src/ifql/components/FuncSelector'
import {funcNames} from 'src/ifql/constants'
import {Service} from 'src/types'
import {FlatBody, Suggestion} from 'src/types/ifql'
interface Props {
service: Service
body: Body[]
suggestions: Suggestion[]
onAppendFrom: () => void

View File

@ -1,5 +1,4 @@
import React, {PureComponent} from 'react'
import PropTypes from 'prop-types'
import DatabaseListItem from 'src/ifql/components/DatabaseListItem'
@ -7,29 +6,23 @@ import {showDatabases} from 'src/shared/apis/metaQuery'
import showDatabasesParser from 'src/shared/parsing/showDatabases'
import {ErrorHandling} from 'src/shared/decorators/errors'
import {Service} from 'src/types'
interface DatabaseListState {
databases: string[]
measurement: string
db: string
interface Props {
service: Service
}
const {shape} = PropTypes
interface State {
databases: string[]
}
@ErrorHandling
class DatabaseList extends PureComponent<{}, DatabaseListState> {
public static contextTypes = {
source: shape({
links: shape({}).isRequired,
}).isRequired,
}
class DatabaseList extends PureComponent<Props, State> {
constructor(props) {
super(props)
this.state = {
databases: [],
measurement: '',
db: '',
}
}
@ -38,10 +31,10 @@ class DatabaseList extends PureComponent<{}, DatabaseListState> {
}
public async getDatabases() {
const {source} = this.context
const {service} = this.props
try {
const {data} = await showDatabases(source.links.proxy)
const {data} = await showDatabases(`${service.links.source}/proxy`)
const {databases} = showDatabasesParser(data)
const sorted = databases.sort()
@ -52,8 +45,11 @@ class DatabaseList extends PureComponent<{}, DatabaseListState> {
}
public render() {
return this.state.databases.map(db => {
return <DatabaseListItem db={db} key={db} />
const {databases} = this.state
const {service} = this.props
return databases.map(db => {
return <DatabaseListItem db={db} key={db} service={service} />
})
}
}

View File

@ -1,15 +1,20 @@
import React, {PureComponent} from 'react'
import React, {PureComponent, ChangeEvent, MouseEvent} from 'react'
import classnames from 'classnames'
import {tagKeys as fetchTagKeys} from 'src/shared/apis/v2/metaQueries'
import parseValuesColumn from 'src/shared/parsing/v2/tags'
import TagList from 'src/ifql/components/TagList'
import {Service} from 'src/types'
interface Props {
db: string
service: Service
}
interface State {
isOpen: boolean
tags: string[]
searchTerm: string
}
class DatabaseListItem extends PureComponent<Props, State> {
@ -17,33 +22,80 @@ class DatabaseListItem extends PureComponent<Props, State> {
super(props)
this.state = {
isOpen: false,
tags: [],
searchTerm: '',
}
}
public async componentDidMount() {
const {db, service} = this.props
try {
const response = await fetchTagKeys(service, db, [])
const tags = parseValuesColumn(response)
this.setState({tags})
} catch (error) {
console.error(error)
}
}
public render() {
const {db} = this.props
const {db, service} = this.props
const {searchTerm} = this.state
return (
<div className={this.className} onClick={this.handleChooseDatabase}>
<div className={this.className} onClick={this.handleClick}>
<div className="ifql-schema-item">
<div className="ifql-schema-item-toggle" />
{db}
<span className="ifql-schema-type">Bucket</span>
</div>
{this.state.isOpen && <TagList db={db} />}
{this.state.isOpen && (
<>
<div className="ifql-schema--filter">
<input
className="form-control input-sm"
placeholder={`Filter within ${db}`}
type="text"
spellCheck={false}
autoComplete="off"
value={searchTerm}
onClick={this.handleInputClick}
onChange={this.onSearch}
/>
</div>
<TagList db={db} service={service} tags={this.tags} filter={[]} />
</>
)}
</div>
)
}
private get tags(): string[] {
const {tags, searchTerm} = this.state
const term = searchTerm.toLocaleLowerCase()
return tags.filter(t => t.toLocaleLowerCase().includes(term))
}
private get className(): string {
return classnames('ifql-schema-tree', {
expanded: this.state.isOpen,
})
}
private handleChooseDatabase = () => {
private onSearch = (e: ChangeEvent<HTMLInputElement>) => {
this.setState({
searchTerm: e.target.value,
})
}
private handleClick = () => {
this.setState({isOpen: !this.state.isOpen})
}
private handleInputClick = (e: MouseEvent<HTMLInputElement>) => {
e.stopPropagation()
}
}
export default DatabaseListItem

View File

@ -19,7 +19,13 @@ class ExpressionNode extends PureComponent<Props> {
const {declarationID, bodyID, funcNames, funcs} = this.props
return (
<IFQLContext.Consumer>
{({onDeleteFuncNode, onAddNode, onChangeArg, onGenerateScript}) => {
{({
onDeleteFuncNode,
onAddNode,
onChangeArg,
onGenerateScript,
service,
}) => {
return (
<>
{funcs.map((func, i) => (
@ -27,6 +33,7 @@ class ExpressionNode extends PureComponent<Props> {
key={i}
func={func}
bodyID={bodyID}
service={service}
onChangeArg={onChangeArg}
onDelete={onDeleteFuncNode}
declarationID={declarationID}

View File

@ -1,9 +1,11 @@
import React, {PureComponent} from 'react'
import {getDatabases} from 'src/ifql/apis'
import {showDatabases} from 'src/shared/apis/metaQuery'
import showDatabasesParser from 'src/shared/parsing/showDatabases'
import Dropdown from 'src/shared/components/Dropdown'
import {OnChangeArg} from 'src/types/ifql'
import {Service} from 'src/types'
interface Props {
funcID: string
@ -12,6 +14,7 @@ interface Props {
bodyID: string
declarationID: string
onChangeArg: OnChangeArg
service: Service
}
interface State {
@ -31,11 +34,16 @@ class From extends PureComponent<Props, State> {
}
public async componentDidMount() {
const {service} = this.props
try {
const dbs = await getDatabases()
this.setState({dbs})
} catch (error) {
// TODO: notity error
const {data} = await showDatabases(`${service.links.source}/proxy`)
const {databases} = showDatabasesParser(data)
const sorted = databases.sort()
this.setState({dbs: sorted})
} catch (err) {
console.error(err)
}
}

View File

@ -8,8 +8,10 @@ import From from 'src/ifql/components/From'
import {funcNames, argTypes} from 'src/ifql/constants'
import {OnChangeArg} from 'src/types/ifql'
import {Service} from 'src/types'
interface Props {
service: Service
funcName: string
funcID: string
argKey: string
@ -30,6 +32,7 @@ class FuncArg extends PureComponent<Props> {
type,
bodyID,
funcID,
service,
funcName,
onChangeArg,
declarationID,
@ -39,6 +42,7 @@ class FuncArg extends PureComponent<Props> {
if (funcName === funcNames.FROM) {
return (
<From
service={service}
argKey={argKey}
funcID={funcID}
value={this.value}

View File

@ -4,9 +4,11 @@ import {OnChangeArg} from 'src/types/ifql'
import {ErrorHandling} from 'src/shared/decorators/errors'
import {Func} from 'src/types/ifql'
import {funcNames} from 'src/ifql/constants'
import {Service} from 'src/types'
interface Props {
func: Func
service: Service
bodyID: string
onChangeArg: OnChangeArg
declarationID: string
@ -20,6 +22,7 @@ export default class FuncArgs extends PureComponent<Props> {
const {
func,
bodyID,
service,
onChangeArg,
onDeleteFunc,
declarationID,
@ -37,6 +40,7 @@ export default class FuncArgs extends PureComponent<Props> {
value={value}
bodyID={bodyID}
funcID={func.id}
service={service}
funcName={func.name}
onChangeArg={onChangeArg}
declarationID={declarationID}

View File

@ -4,9 +4,11 @@ import FuncArgs from 'src/ifql/components/FuncArgs'
import FuncArgsPreview from 'src/ifql/components/FuncArgsPreview'
import {OnDeleteFuncNode, OnChangeArg, Func} from 'src/types/ifql'
import {ErrorHandling} from 'src/shared/decorators/errors'
import {Service} from 'src/types'
interface Props {
func: Func
service: Service
bodyID: string
declarationID?: string
onDelete: OnDeleteFuncNode
@ -35,6 +37,7 @@ export default class FuncNode extends PureComponent<Props, State> {
const {
func,
bodyID,
service,
onChangeArg,
declarationID,
onGenerateScript,
@ -53,6 +56,7 @@ export default class FuncNode extends PureComponent<Props, State> {
<FuncArgs
func={func}
bodyID={bodyID}
service={service}
onChangeArg={onChangeArg}
declarationID={declarationID}
onGenerateScript={onGenerateScript}

View File

@ -0,0 +1,32 @@
import React, {SFC, MouseEvent} from 'react'
const handleClick = (e: MouseEvent<HTMLDivElement>): void => {
e.stopPropagation()
}
const LoaderSkeleton: SFC = () => {
return (
<>
<div className="ifql-schema-tree ifql-tree-node" onClick={handleClick}>
<div className="ifql-schema-item no-hover">
<div className="ifql-schema-item-toggle" />
<div className="ifql-schema-item-skeleton" style={{width: '160px'}} />
</div>
</div>
<div className="ifql-schema-tree ifql-tree-node">
<div className="ifql-schema-item no-hover">
<div className="ifql-schema-item-toggle" />
<div className="ifql-schema-item-skeleton" style={{width: '200px'}} />
</div>
</div>
<div className="ifql-schema-tree ifql-tree-node">
<div className="ifql-schema-item no-hover">
<div className="ifql-schema-item-toggle" />
<div className="ifql-schema-item-skeleton" style={{width: '120px'}} />
</div>
</div>
</>
)
}
export default LoaderSkeleton

View File

@ -0,0 +1,19 @@
import React, {SFC, CSSProperties} from 'react'
interface Props {
style?: CSSProperties
}
const LoadingSpinner: SFC<Props> = ({style}) => {
return (
<div className="loading-spinner" style={style}>
<div className="spinner">
<div className="bounce1" />
<div className="bounce2" />
<div className="bounce3" />
</div>
</div>
)
}
export default LoadingSpinner

View File

@ -1,29 +1,21 @@
import React, {PureComponent} from 'react'
import DatabaseList from 'src/ifql/components/DatabaseList'
class SchemaExplorer extends PureComponent {
import DatabaseList from 'src/ifql/components/DatabaseList'
import FancyScrollbar from 'src/shared/components/FancyScrollbar'
import {Service} from 'src/types'
interface Props {
service: Service
}
class SchemaExplorer extends PureComponent<Props> {
public render() {
const {service} = this.props
return (
<div className="ifql-schema-explorer">
<div className="ifql-schema--controls">
<div className="ifql-schema--filter">
<input
className="form-control input-sm"
placeholder="Filter YO schema dawg..."
type="text"
spellCheck={false}
autoComplete="off"
/>
</div>
<button
className="btn btn-sm btn-default btn-square"
disabled={true}
title="Collapse YO tree"
>
<span className="icon collapse" />
</button>
</div>
<DatabaseList />
<FancyScrollbar>
<DatabaseList service={service} />
</FancyScrollbar>
</div>
)
}

View File

@ -0,0 +1,37 @@
import React, {PureComponent, MouseEvent} from 'react'
interface Props {
schemaType: string
name: string
}
interface State {
isOpen: boolean
}
export default class SchemaItem extends PureComponent<Props, State> {
public render() {
const {schemaType} = this.props
return (
<div className={this.className}>
<div className="ifql-schema-item" onClick={this.handleClick}>
<div className="ifql-schema-item-toggle" />
{name}
<span className="ifql-schema-type">{schemaType}</span>
</div>
</div>
)
}
private handleClick = (e: MouseEvent<HTMLDivElement>) => {
e.stopPropagation()
this.setState({isOpen: !this.state.isOpen})
}
private get className(): string {
const {isOpen} = this.state
const openClass = isOpen ? 'expanded' : ''
return `ifql-schema-tree ifql-tree-node ${openClass}`
}
}

View File

@ -1,65 +1,55 @@
import PropTypes from 'prop-types'
import React, {PureComponent} from 'react'
import _ from 'lodash'
import React, {PureComponent, MouseEvent} from 'react'
import {SchemaFilter, Service} from 'src/types'
import TagListItem from 'src/ifql/components/TagListItem'
import {getTags, getTagValues} from 'src/ifql/apis'
import {ErrorHandling} from 'src/shared/decorators/errors'
const {shape} = PropTypes
interface Props {
db: string
service: Service
tags: string[]
filter: SchemaFilter[]
}
interface State {
tags: {}
selectedTag: string
isOpen: boolean
}
@ErrorHandling
class TagList extends PureComponent<Props, State> {
public static contextTypes = {
source: shape({
links: shape({}).isRequired,
}).isRequired,
}
export default class TagList extends PureComponent<Props, State> {
constructor(props) {
super(props)
this.state = {
tags: {},
selectedTag: '',
}
}
public componentDidMount() {
const {db} = this.props
if (!db) {
return
}
this.getTags()
}
public async getTags() {
const keys = await getTags()
const values = await getTagValues()
const tags = keys.reduce((acc, k) => {
return {...acc, [k]: values}
}, {})
this.setState({tags})
this.state = {isOpen: false}
}
public render() {
return _.map(this.state.tags, (tagValues: string[], tagKey: string) => (
<TagListItem key={tagKey} tagKey={tagKey} tagValues={tagValues} />
))
const {db, service, tags, filter} = this.props
if (tags.length) {
return (
<>
{tags.map(t => (
<TagListItem
key={t}
db={db}
tagKey={t}
service={service}
filter={filter}
/>
))}
</>
)
}
return (
<div className="ifql-schema-tree ifql-tree-node">
<div className="ifql-schema-item no-hover" onClick={this.handleClick}>
<div className="no-results">No more tag keys.</div>
</div>
</div>
)
}
private handleClick(e: MouseEvent<HTMLDivElement>) {
e.stopPropagation()
}
}
export default TagList

View File

@ -1,69 +1,278 @@
import classnames from 'classnames'
import React, {PureComponent, MouseEvent} from 'react'
import {ErrorHandling} from 'src/shared/decorators/errors'
import React, {
PureComponent,
CSSProperties,
ChangeEvent,
MouseEvent,
} from 'react'
import _ from 'lodash'
import {Service, SchemaFilter, RemoteDataState} from 'src/types'
import {tagValues as fetchTagValues} from 'src/shared/apis/v2/metaQueries'
import {explorer} from 'src/ifql/constants'
import parseValuesColumn from 'src/shared/parsing/v2/tags'
import TagValueList from 'src/ifql/components/TagValueList'
import LoaderSkeleton from 'src/ifql/components/LoaderSkeleton'
import LoadingSpinner from 'src/ifql/components/LoadingSpinner'
interface Props {
tagKey: string
tagValues: string[]
db: string
service: Service
filter: SchemaFilter[]
}
interface State {
isOpen: boolean
loadingAll: RemoteDataState
loadingSearch: RemoteDataState
loadingMore: RemoteDataState
tagValues: string[]
searchTerm: string
limit: number
count: number | null
}
@ErrorHandling
class TagListItem extends PureComponent<Props, State> {
export default class TagListItem extends PureComponent<Props, State> {
constructor(props) {
super(props)
this.state = {
isOpen: false,
loadingAll: RemoteDataState.NotStarted,
loadingSearch: RemoteDataState.NotStarted,
loadingMore: RemoteDataState.NotStarted,
tagValues: [],
count: null,
searchTerm: '',
limit: explorer.TAG_VALUES_LIMIT,
}
this.debouncedOnSearch = _.debounce(() => {
this.searchTagValues()
this.getCount()
}, 250)
}
public render() {
const {isOpen} = this.state
const {tagKey, db, service, filter} = this.props
const {tagValues, searchTerm, loadingMore, count, limit} = this.state
return (
<div className={this.className}>
<div className="ifql-schema-item" onClick={this.handleClick}>
<div className="ifql-schema-item-toggle" />
{this.tagItemLabel}
{tagKey}
<span className="ifql-schema-type">Tag Key</span>
</div>
{isOpen && this.renderTagValues}
{this.state.isOpen && (
<>
<div
className="tag-value-list--header"
onClick={this.handleInputClick}
>
<div className="ifql-schema--filter">
<input
className="form-control input-sm"
placeholder={`Filter within ${tagKey}`}
type="text"
spellCheck={false}
autoComplete="off"
value={searchTerm}
onChange={this.onSearch}
/>
{this.isSearching && (
<LoadingSpinner style={this.spinnerStyle} />
)}
</div>
{!!count && `${count} total`}
</div>
{this.isLoading && <LoaderSkeleton />}
{!this.isLoading && (
<>
<TagValueList
db={db}
service={service}
values={tagValues}
tagKey={tagKey}
filter={filter}
onLoadMoreValues={this.handleLoadMoreValues}
isLoadingMoreValues={loadingMore === RemoteDataState.Loading}
shouldShowMoreValues={limit < count}
loadMoreCount={this.loadMoreCount}
/>
</>
)}
</>
)}
</div>
)
}
private handleClick = (e: MouseEvent<HTMLElement>): void => {
private get spinnerStyle(): CSSProperties {
return {
position: 'absolute',
right: '15px',
top: '6px',
}
}
private get isSearching(): boolean {
return this.state.loadingSearch === RemoteDataState.Loading
}
private get isLoading(): boolean {
return this.state.loadingAll === RemoteDataState.Loading
}
private onSearch = (e: ChangeEvent<HTMLInputElement>): void => {
const searchTerm = e.target.value
this.setState({searchTerm, loadingSearch: RemoteDataState.Loading}, () =>
this.debouncedOnSearch()
)
}
private debouncedOnSearch() {} // See constructor
private handleInputClick = (e: MouseEvent<HTMLDivElement>): void => {
e.stopPropagation()
}
private searchTagValues = async () => {
try {
const tagValues = await this.getTagValues()
this.setState({
tagValues,
loadingSearch: RemoteDataState.Done,
})
} catch (error) {
console.error(error)
this.setState({loadingSearch: RemoteDataState.Error})
}
}
private getAllTagValues = async () => {
this.setState({loadingAll: RemoteDataState.Loading})
try {
const tagValues = await this.getTagValues()
this.setState({
tagValues,
loadingAll: RemoteDataState.Done,
})
} catch (error) {
console.error(error)
this.setState({loadingAll: RemoteDataState.Error})
}
}
private getMoreTagValues = async () => {
this.setState({loadingMore: RemoteDataState.Loading})
try {
const tagValues = await this.getTagValues()
this.setState({
tagValues,
loadingMore: RemoteDataState.Done,
})
} catch (error) {
console.error(error)
this.setState({loadingMore: RemoteDataState.Error})
}
}
private getTagValues = async () => {
const {db, service, tagKey, filter} = this.props
const {searchTerm, limit} = this.state
const response = await fetchTagValues({
service,
db,
filter,
tagKey,
limit,
searchTerm,
})
return parseValuesColumn(response)
}
private handleClick = (e: MouseEvent<HTMLDivElement>) => {
e.stopPropagation()
if (this.isFetchable) {
this.getCount()
this.getAllTagValues()
}
this.setState({isOpen: !this.state.isOpen})
}
private get tagItemLabel(): string {
const {tagKey} = this.props
return `${tagKey}`
private handleLoadMoreValues = (): void => {
const {limit} = this.state
this.setState(
{limit: limit + explorer.TAG_VALUES_LIMIT},
this.getMoreTagValues
)
}
private get renderTagValues(): JSX.Element[] | JSX.Element {
const {tagValues} = this.props
if (!tagValues || !tagValues.length) {
return <div className="ifql-schema-tree__empty">No tag values</div>
}
private async getCount() {
const {service, db, filter, tagKey} = this.props
const {limit, searchTerm} = this.state
try {
const response = await fetchTagValues({
service,
db,
filter,
tagKey,
limit,
searchTerm,
count: true,
})
return tagValues.map(v => {
return (
<div key={v} className="ifql-schema-item readonly ifql-tree-node">
{v}
</div>
)
})
const parsed = parseValuesColumn(response)
if (parsed.length !== 1) {
// We expect to never reach this state; instead, the IFQL server should
// return a non-200 status code is handled earlier (after fetching).
// This return guards against some unexpected behavior---the IFQL server
// returning a 200 status code but ALSO having an error in the CSV
// response body
return
}
const count = Number(parsed[0])
this.setState({count})
} catch (error) {
console.error(error)
}
}
private get loadMoreCount(): number {
const {count, limit} = this.state
return Math.min(Math.abs(count - limit), explorer.TAG_VALUES_LIMIT)
}
private get isFetchable(): boolean {
const {isOpen, loadingAll} = this.state
return (
!isOpen &&
(loadingAll === RemoteDataState.NotStarted ||
loadingAll !== RemoteDataState.Error)
)
}
private get className(): string {
const {isOpen} = this.state
return classnames('ifql-schema-tree ifql-tree-node', {expanded: isOpen})
const openClass = isOpen ? 'expanded' : ''
return `ifql-schema-tree ifql-tree-node ${openClass}`
}
}
export default TagListItem

View File

@ -0,0 +1,72 @@
import React, {PureComponent, MouseEvent} from 'react'
import TagValueListItem from 'src/ifql/components/TagValueListItem'
import LoadingSpinner from 'src/ifql/components/LoadingSpinner'
import {Service, SchemaFilter} from 'src/types'
interface Props {
service: Service
db: string
tagKey: string
values: string[]
filter: SchemaFilter[]
isLoadingMoreValues: boolean
onLoadMoreValues: () => void
shouldShowMoreValues: boolean
loadMoreCount: number
}
export default class TagValueList extends PureComponent<Props> {
public render() {
const {
db,
service,
values,
tagKey,
filter,
shouldShowMoreValues,
} = this.props
return (
<>
{values.map((v, i) => (
<TagValueListItem
key={i}
db={db}
value={v}
tagKey={tagKey}
service={service}
filter={filter}
/>
))}
{shouldShowMoreValues && (
<div className="ifql-schema-tree ifql-tree-node">
<div className="ifql-schema-item no-hover">
<button
className="btn btn-xs btn-default increase-values-limit"
onClick={this.handleClick}
>
{this.buttonValue}
</button>
</div>
</div>
)}
</>
)
}
private handleClick = (e: MouseEvent<HTMLButtonElement>) => {
e.stopPropagation()
this.props.onLoadMoreValues()
}
private get buttonValue(): string | JSX.Element {
const {isLoadingMoreValues, loadMoreCount, tagKey} = this.props
if (isLoadingMoreValues) {
return <LoadingSpinner />
}
return `Load next ${loadMoreCount} values for ${tagKey}`
}
}

View File

@ -0,0 +1,147 @@
import React, {PureComponent, MouseEvent, ChangeEvent} from 'react'
import {tagKeys as fetchTagKeys} from 'src/shared/apis/v2/metaQueries'
import parseValuesColumn from 'src/shared/parsing/v2/tags'
import TagList from 'src/ifql/components/TagList'
import LoaderSkeleton from 'src/ifql/components/LoaderSkeleton'
import {Service, SchemaFilter, RemoteDataState} from 'src/types'
interface Props {
db: string
service: Service
tagKey: string
value: string
filter: SchemaFilter[]
}
interface State {
isOpen: boolean
tags: string[]
loading: RemoteDataState
searchTerm: string
}
class TagValueListItem extends PureComponent<Props, State> {
constructor(props) {
super(props)
this.state = {
isOpen: false,
tags: [],
loading: RemoteDataState.NotStarted,
searchTerm: '',
}
}
public render() {
const {db, service, value} = this.props
const {searchTerm} = this.state
return (
<div className={this.className} onClick={this.handleClick}>
<div className="ifql-schema-item">
<div className="ifql-schema-item-toggle" />
{value}
<span className="ifql-schema-type">Tag Value</span>
</div>
{this.state.isOpen && (
<>
{this.isLoading && <LoaderSkeleton />}
{!this.isLoading && (
<>
{!!this.tags.length && (
<div className="ifql-schema--filter">
<input
className="form-control input-sm"
placeholder={`Filter within ${db}`}
type="text"
spellCheck={false}
autoComplete="off"
value={searchTerm}
onClick={this.handleInputClick}
onChange={this.onSearch}
/>
</div>
)}
<TagList
db={db}
service={service}
tags={this.tags}
filter={this.filter}
/>
</>
)}
</>
)}
</div>
)
}
private get isLoading(): boolean {
return this.state.loading === RemoteDataState.Loading
}
private get filter(): SchemaFilter[] {
const {filter, tagKey, value} = this.props
return [...filter, {key: tagKey, value}]
}
private get tags(): string[] {
const {tags, searchTerm} = this.state
const term = searchTerm.toLocaleLowerCase()
return tags.filter(t => t.toLocaleLowerCase().includes(term))
}
private async getTags() {
const {db, service} = this.props
this.setState({loading: RemoteDataState.Loading})
try {
const response = await fetchTagKeys(service, db, this.filter)
const tags = parseValuesColumn(response)
this.setState({tags, loading: RemoteDataState.Done})
} catch (error) {
console.error(error)
}
}
private get className(): string {
const {isOpen} = this.state
const openClass = isOpen ? 'expanded' : ''
return `ifql-schema-tree ifql-tree-node ${openClass}`
}
private handleInputClick = (e: MouseEvent<HTMLInputElement>) => {
e.stopPropagation()
}
private handleClick = (e: MouseEvent<HTMLDivElement>) => {
e.stopPropagation()
if (this.isFetchable) {
this.getTags()
}
this.setState({isOpen: !this.state.isOpen})
}
private onSearch = (e: ChangeEvent<HTMLInputElement>) => {
this.setState({
searchTerm: e.target.value,
})
}
private get isFetchable(): boolean {
const {isOpen, loading} = this.state
return (
!isOpen &&
(loading === RemoteDataState.NotStarted ||
loading !== RemoteDataState.Error)
)
}
}
export default TagValueListItem

View File

@ -12,10 +12,13 @@ import {
ScriptStatus,
ScriptResult,
} from 'src/types/ifql'
import {Service} from 'src/types'
import {ErrorHandling} from 'src/shared/decorators/errors'
import {HANDLE_VERTICAL, HANDLE_HORIZONTAL} from 'src/shared/constants'
interface Props {
service: Service
data: ScriptResult[]
script: string
body: Body[]
@ -72,6 +75,7 @@ class TimeMachine extends PureComponent<Props> {
body,
script,
status,
service,
onAnalyze,
suggestions,
onAppendFrom,
@ -85,7 +89,7 @@ class TimeMachine extends PureComponent<Props> {
name: 'Explore',
headerButtons: [],
menuOptions: [],
render: () => <SchemaExplorer />,
render: () => <SchemaExplorer service={service} />,
},
{
name: 'Script',
@ -116,6 +120,7 @@ class TimeMachine extends PureComponent<Props> {
render: () => (
<BodyBuilder
body={body}
service={service}
suggestions={suggestions}
onAppendFrom={onAppendFrom}
onAppendJoin={onAppendJoin}

View File

@ -1,4 +1,4 @@
import React, {PureComponent} from 'react'
import React, {PureComponent, CSSProperties} from 'react'
import _ from 'lodash'
import {Grid, GridCellProps, AutoSizer, ColumnSizer} from 'react-virtualized'
@ -6,13 +6,55 @@ import {ErrorHandling} from 'src/shared/decorators/errors'
import {ScriptResult} from 'src/types'
import {vis} from 'src/ifql/constants'
const NUM_FIXED_ROWS = 1
interface State {
scrollLeft: number
}
@ErrorHandling
export default class TimeMachineTable extends PureComponent<ScriptResult> {
export default class TimeMachineTable extends PureComponent<
ScriptResult,
State
> {
constructor(props) {
super(props)
this.state = {
scrollLeft: 0,
}
}
public render() {
const {data} = this.props
const {scrollLeft} = this.state
return (
<div style={{flex: '1 1 auto'}}>
<AutoSizer>
{({width}) => (
<ColumnSizer
width={width}
columnCount={this.columnCount}
columnMinWidth={vis.TIME_COLUMN_WIDTH}
>
{({adjustedWidth, getColumnWidth}) => (
<Grid
className="table-graph--scroll-window"
rowCount={1}
fixedRowCount={1}
width={adjustedWidth}
scrollLeft={scrollLeft}
style={this.headerStyle}
columnWidth={getColumnWidth}
height={vis.TABLE_ROW_HEIGHT}
columnCount={this.columnCount}
rowHeight={vis.TABLE_ROW_HEIGHT}
cellRenderer={this.headerCellRenderer}
/>
)}
</ColumnSizer>
)}
</AutoSizer>
<AutoSizer>
{({height, width}) => (
<ColumnSizer
@ -23,13 +65,15 @@ export default class TimeMachineTable extends PureComponent<ScriptResult> {
{({adjustedWidth, getColumnWidth}) => (
<Grid
className="table-graph--scroll-window"
cellRenderer={this.cellRenderer}
columnCount={this.columnCount}
columnWidth={getColumnWidth}
height={height}
rowCount={data.length}
rowHeight={vis.TABLE_ROW_HEIGHT}
width={adjustedWidth}
style={this.tableStyle}
onScroll={this.handleScroll}
columnWidth={getColumnWidth}
columnCount={this.columnCount}
cellRenderer={this.cellRenderer}
rowHeight={vis.TABLE_ROW_HEIGHT}
height={height - this.headerOffset}
rowCount={data.length - NUM_FIXED_ROWS}
/>
)}
</ColumnSizer>
@ -39,10 +83,45 @@ export default class TimeMachineTable extends PureComponent<ScriptResult> {
)
}
private get headerStyle(): CSSProperties {
// cannot use overflow: hidden overflow-x / overflow-y gets overridden by react-virtualized
return {overflowX: 'hidden', overflowY: 'hidden'}
}
private get tableStyle(): CSSProperties {
return {marginTop: `${this.headerOffset}px`}
}
private get columnCount(): number {
return _.get(this.props.data, '0', []).length
}
private get headerOffset(): number {
return NUM_FIXED_ROWS * vis.TABLE_ROW_HEIGHT
}
private handleScroll = ({scrollLeft}): void => {
this.setState({scrollLeft})
}
private headerCellRenderer = ({
columnIndex,
key,
style,
}: GridCellProps): React.ReactNode => {
const {data} = this.props
return (
<div
key={key}
style={style}
className="table-graph-cell table-graph-cell__fixed-row"
>
{data[0][columnIndex]}
</div>
)
}
private cellRenderer = ({
columnIndex,
key,
@ -50,15 +129,10 @@ export default class TimeMachineTable extends PureComponent<ScriptResult> {
style,
}: GridCellProps): React.ReactNode => {
const {data} = this.props
const headerRowClass = !rowIndex ? 'table-graph-cell__fixed-row' : ''
return (
<div
key={key}
style={style}
className={`table-graph-cell ${headerRowClass}`}
>
{data[rowIndex][columnIndex]}
<div key={key} style={style} className="table-graph-cell">
{data[rowIndex + NUM_FIXED_ROWS][columnIndex]}
</div>
)
}

View File

@ -24,8 +24,8 @@ class TimeMachineVis extends PureComponent<Props, State> {
this.state = {selectedResultID: this.initialResultID}
}
public componentDidUpdate(__, prevState) {
if (prevState.selectedResultID === null) {
public componentDidUpdate() {
if (!this.selectedResult) {
this.setState({selectedResultID: this.initialResultID})
}
}
@ -33,7 +33,7 @@ class TimeMachineVis extends PureComponent<Props, State> {
public render() {
return (
<div className="time-machine-visualization" style={this.style}>
{this.hasResults && (
{this.showSidebar && (
<TableSidebar
data={this.props.data}
selectedResultID={this.state.selectedResultID}
@ -64,6 +64,10 @@ class TimeMachineVis extends PureComponent<Props, State> {
}
}
private get showSidebar(): boolean {
return this.props.data.length > 1
}
private get hasResults(): boolean {
return !!this.props.data.length
}

View File

@ -0,0 +1 @@
export const TAG_VALUES_LIMIT = 10

View File

@ -4,5 +4,6 @@ import * as argTypes from 'src/ifql/constants/argumentTypes'
import * as funcNames from 'src/ifql/constants/funcNames'
import * as builder from 'src/ifql/constants/builder'
import * as vis from 'src/ifql/constants/vis'
import * as explorer from 'src/ifql/constants/explorer'
export {ast, funcNames, argTypes, editor, builder, vis}
export {ast, funcNames, argTypes, editor, builder, vis, explorer}

View File

@ -47,7 +47,7 @@ export class CheckServices extends PureComponent<Props & WithRouterProps> {
}
public render() {
const {services, sources, notify, updateScript, links, script} = this.props
const {services, notify, updateScript, links, script} = this.props
if (!this.props.services.length) {
return null // put loading spinner here
@ -55,7 +55,7 @@ export class CheckServices extends PureComponent<Props & WithRouterProps> {
return (
<IFQLPage
sources={sources}
source={this.source}
services={services}
links={links}
script={script}
@ -65,9 +65,14 @@ export class CheckServices extends PureComponent<Props & WithRouterProps> {
)
}
private get source(): Source {
const {params, sources} = this.props
return sources.find(s => s.id === params.sourceID)
}
private overlay() {
const {showOverlay, services, sources, params} = this.props
const source = sources.find(s => s.id === params.sourceID)
const {showOverlay, services} = this.props
if (services.length) {
return
@ -78,7 +83,7 @@ export class CheckServices extends PureComponent<Props & WithRouterProps> {
{({onDismissOverlay}) => (
<IFQLOverlay
mode="new"
source={source}
source={this.source}
onDismiss={onDismissOverlay}
/>
)}

View File

@ -22,7 +22,7 @@ import {
FlatBody,
Links,
InputArg,
Handlers,
Context,
DeleteFuncNodeArgs,
Func,
ScriptStatus,
@ -36,7 +36,7 @@ interface Status {
interface Props {
links: Links
services: Service[]
sources: Source[]
source: Source
notify: (message: Notification) => void
script: string
updateScript: UpdateScript
@ -90,7 +90,7 @@ export class IFQLPage extends PureComponent<Props, State> {
const {script} = this.props
return (
<IFQLContext.Provider value={this.handlers}>
<IFQLContext.Provider value={this.getContext}>
<KeyboardShortcuts onControlEnter={this.getTimeSeries}>
<div className="page hosts-list-page">
{this.header}
@ -99,6 +99,7 @@ export class IFQLPage extends PureComponent<Props, State> {
body={body}
script={script}
status={status}
service={this.service}
suggestions={suggestions}
onAnalyze={this.handleAnalyze}
onAppendFrom={this.handleAppendFrom}
@ -128,7 +129,7 @@ export class IFQLPage extends PureComponent<Props, State> {
return this.props.services[0]
}
private get handlers(): Handlers {
private get getContext(): Context {
return {
onAddNode: this.handleAddNode,
onChangeArg: this.handleChangeArg,
@ -136,6 +137,7 @@ export class IFQLPage extends PureComponent<Props, State> {
onChangeScript: this.handleChangeScript,
onDeleteFuncNode: this.handleDeleteFuncNode,
onGenerateScript: this.handleGenerateScript,
service: this.service,
}
}
@ -446,6 +448,8 @@ export class IFQLPage extends PureComponent<Props, State> {
notify(ifqlTimeSeriesError(error))
console.error('Could not get timeSeries', error)
}
this.getASTResponse(script)
}
private parseError = (error): Status => {

View File

@ -0,0 +1,140 @@
import _ from 'lodash'
import AJAX from 'src/utils/ajax'
import {Service, SchemaFilter} from 'src/types'
export const measurements = async (
service: Service,
db: string
): Promise<any> => {
const script = `
from(db:"${db}")
|> range(start:-24h)
|> group(by:["_measurement"])
|> distinct(column:"_measurement")
|> group()
`
return proxy(service, script)
}
export const tagKeys = async (
service: Service,
db: string,
filter: SchemaFilter[]
): Promise<any> => {
let tagKeyFilter = ''
if (filter.length) {
const predicates = filter.map(({key}) => `r._value != "${key}"`)
tagKeyFilter = `|> filter(fn: (r) => ${predicates.join(' and ')} )`
}
const script = `
from(db: "${db}")
|> range(start: -24h)
${tagsetFilter(filter)}
|> group(none: true)
|> keys(except:["_time", "_value", "_start", "_stop"])
|> map(fn: (r) => r._value)
${tagKeyFilter}
`
return proxy(service, script)
}
interface TagValuesParams {
service: Service
db: string
tagKey: string
limit: number
filter?: SchemaFilter[]
searchTerm?: string
count?: boolean
}
export const tagValues = async ({
db,
service,
tagKey,
limit,
filter = [],
searchTerm = '',
count = false,
}: TagValuesParams): Promise<any> => {
let regexFilter = ''
if (searchTerm) {
regexFilter = `|> filter(fn: (r) => r.${tagKey} =~ /${searchTerm}/)`
}
const limitFunc = count ? '' : `|> limit(n:${limit})`
const countFunc = count ? '|> count()' : ''
const script = `
from(db:"${db}")
|> range(start:-1h)
${regexFilter}
${tagsetFilter(filter)}
|> group(by:["${tagKey}"])
|> distinct(column:"${tagKey}")
|> group(by:["_stop","_start"])
${limitFunc}
${countFunc}
`
return proxy(service, script)
}
export const tagsFromMeasurement = async (
service: Service,
db: string,
measurement: string
): Promise<any> => {
const script = `
from(db:"${db}")
|> range(start:-24h)
|> filter(fn:(r) => r._measurement == "${measurement}")
|> group()
|> keys(except:["_time","_value","_start","_stop"])
`
return proxy(service, script)
}
const tagsetFilter = (filter: SchemaFilter[]): string => {
if (!filter.length) {
return ''
}
const predicates = filter.map(({key, value}) => `r.${key} == "${value}"`)
return `|> filter(fn: (r) => ${predicates.join(' and ')} )`
}
const proxy = async (service: Service, script: string) => {
const and = encodeURIComponent('&')
const mark = encodeURIComponent('?')
const garbage = script.replace(/\s/g, '') // server cannot handle whitespace
try {
const response = await AJAX({
method: 'POST',
url: `${
service.links.proxy
}?path=/v1/query${mark}orgName=defaulorgname${and}q=${garbage}`,
})
return response.data
} catch (error) {
handleError(error)
}
}
const handleError = error => {
console.error('Problem fetching data', error)
throw _.get(error, 'headers.x-influx-error', false) ||
_.get(error, 'data.message', 'unknown error 🤷')
}

View File

@ -0,0 +1,20 @@
import {parseResults} from 'src/shared/parsing/v2/results'
const parseMeasurements = (resp: string): string[] => {
const results = parseResults(resp)
if (results.length === 0) {
return []
}
const result = results[0]
const colIndex = result.data[0].findIndex(col => col === '_measurement')
if (!colIndex) {
throw new Error('Unexpected metaquery result')
}
return result.data.slice(1).map(row => row[colIndex])
}
export default parseMeasurements

View File

@ -25,9 +25,7 @@ export const parseResult = (raw: string, index: number): ScriptResult => {
const metadata = Papa.parse(rawMetadata).data
const data = Papa.parse(rawData).data
const headerRow = _.get(data, '0', [])
const measurementHeaderIndex = headerRow.findIndex(v => v === '_measurement')
const name = _.get(data, `1.${measurementHeaderIndex}`, `Result ${index}`)
const name = `Result ${index}`
return {
id: uuid.v4(),

View File

@ -0,0 +1,28 @@
import _ from 'lodash'
import {ScriptResult} from 'src/types'
import {parseResults} from 'src/shared/parsing/v2/results'
const parseValuesColumn = (resp: string): string[] => {
const results = parseResults(resp)
if (results.length === 0) {
return []
}
const tags = results.reduce<string[]>((acc, result: ScriptResult) => {
const colIndex = result.data[0].findIndex(header => header === '_value')
if (colIndex === -1) {
return [...acc]
}
const resultTags = result.data.slice(1).map(row => row[colIndex])
return [...acc, ...resultTags]
}, [])
return _.sortBy(tags, t => t.toLocaleLowerCase())
}
export default parseValuesColumn

View File

@ -5,7 +5,6 @@
$ifql-tree-indent: 26px;
$ifql-tree-line: 2px;
.ifql-schema-explorer {
width: 100%;
height: 100%;
@ -19,8 +18,7 @@ $ifql-tree-line: 2px;
flex-direction: column;
align-items: stretch;
padding-left: 0;
> .ifql-schema-tree {
>.ifql-schema-tree {
padding-left: $ifql-tree-indent;
}
}
@ -39,9 +37,7 @@ $ifql-tree-line: 2px;
.ifql-schema-item-toggle {
width: $ifql-tree-indent;
height: $ifql-tree-indent;
position: relative;
// Plus Sign
position: relative; // Plus Sign
&:before,
&:after {
content: '';
@ -53,8 +49,7 @@ $ifql-tree-line: 2px;
width: $ifql-tree-indent / 3;
height: $ifql-tree-line;
transition: transform 0.25s ease, background-color 0.25s ease;
}
// Vertical Line
} // Vertical Line
&:after {
transform: translate(-50%, -50%) rotate(90deg);
}
@ -73,28 +68,23 @@ $ifql-tree-line: 2px;
color: $g11-sidewalk;
white-space: nowrap;
transition: color 0.25s ease, background-color 0.25s ease;
> span.icon {
>span.icon {
position: absolute;
top: 50%;
left: $ifql-tree-indent / 2;
transform: translate(-50%, -50%);
}
&:hover {
&:not(.no-hover):hover {
color: $g17-whisper;
cursor: pointer;
background-color: $g4-onyx;
.ifql-schema-item-toggle:before,
.ifql-schema-item-toggle:after {
background-color: $g17-whisper;
}
}
.expanded > & {
.expanded>& {
color: $c-pool;
.ifql-schema-item-toggle:before,
.ifql-schema-item-toggle:after {
background-color: $c-pool;
@ -106,17 +96,14 @@ $ifql-tree-line: 2px;
.ifql-schema-item-toggle:after {
transform: translate(-50%, -50%) rotate(0deg);
}
&:hover {
color: $c-laser;
.ifql-schema-item-toggle:before,
.ifql-schema-item-toggle:after {
background-color: $c-laser;
}
}
}
&.readonly,
&.readonly:hover {
padding-left: $ifql-tree-indent + 8px;
@ -124,9 +111,34 @@ $ifql-tree-line: 2px;
color: $g11-sidewalk;
cursor: default;
}
.increase-values-limit {
margin-left: 8px;
padding: 0 10px;
}
.no-results {
margin-left: 8px;
}
}
@keyframes skeleton-animation {
0% {
background-position: 100% 50%
}
100% {
background-position: 0% 50%
}
}
.ifql-schema-item-skeleton {
background: linear-gradient(70deg, $g4-onyx 0%, $g5-pepper 50%, $g4-onyx 100%);
border-radius: 4px;
height: 60%;
background-size: 400% 400%;
animation: skeleton-animation 1s ease infinite;
}
/* Tree Node Lines */
.ifql-tree-node:before,
.ifql-tree-node:after {
content: '';
@ -141,6 +153,7 @@ $ifql-tree-line: 2px;
width: $ifql-tree-line;
height: 100%;
}
.ifql-tree-node:last-child:before {
height: $ifql-tree-indent / 2;
}
@ -157,6 +170,7 @@ $ifql-tree-line: 2px;
Controls
----------------------------------------------------------------------------
*/
.ifql-schema--controls {
padding: 11px;
display: flex;
@ -167,10 +181,9 @@ $ifql-tree-line: 2px;
.ifql-schema--filter {
flex: 1 0 0;
margin-right: 4px;
position: relative;
}
// Hints
.ifql-schema-type {
color: $g11-sidewalk;
@ -178,8 +191,84 @@ $ifql-tree-line: 2px;
margin-left: 8px;
opacity: 0;
transition: opacity 0.25s ease;
.ifql-schema-item:hover & {
.ifql-schema-item:hover & {
opacity: 1;
}
}
.ifql-schema-tree>.ifql-schema--filter {
margin-left: $ifql-tree-indent / 2;
margin-right: $ifql-tree-indent / 2;
margin-top: 1px;
margin-bottom: 5px;
max-width: 220px;
}
.ifql-schema--filter>input.input-sm {
height: 25px;
font-size: 12px;
}
.tag-value-list--header>.ifql-schema--filter {
display: inline-block;
margin-right: 15px;
}
.tag-value-list--header {
font-size: 12px;
color: $g11-sidewalk;
}
/*
Spinner
----------------------------------------------------------------------------
From http: //tobiasahlin.com/spinkit/.
*/
.loading-spinner .spinner {
width: 25px;
text-align: center;
margin: 0 auto;
}
.loading-spinner .spinner>div {
width: 8px;
height: 8px;
background-color: $g8-storm;
border-radius: 100%;
display: inline-block;
animation: sk-bouncedelay 1s infinite ease-in-out both;
}
.loading-spinner .spinner .bounce1 {
animation-delay: -0.32s;
}
.loading-spinner .spinner .bounce2 {
animation-delay: -0.16s;
}
@-webkit-keyframes sk-bouncedelay {
0%,
80%,
100% {
-webkit-transform: scale(0)
}
40% {
-webkit-transform: scale(1.0)
}
}
@keyframes sk-bouncedelay {
0%,
80%,
100% {
-webkit-transform: scale(0);
transform: scale(0);
}
40% {
-webkit-transform: scale(1.0);
transform: scale(1.0);
}
}

View File

@ -1,3 +1,4 @@
import {Service} from 'src/types'
// function definitions
export type OnDeleteFuncNode = (ids: DeleteFuncNodeArgs) => void
export type OnChangeArg = (inputArg: InputArg) => void
@ -15,13 +16,14 @@ export interface ScriptStatus {
text: string
}
export interface Handlers {
export interface Context {
onAddNode: OnAddNode
onChangeArg: OnChangeArg
onSubmitScript: OnSubmitScript
onChangeScript: OnChangeScript
onDeleteFuncNode: OnDeleteFuncNode
onGenerateScript: OnGenerateScript
service: Service
}
export interface DeleteFuncNodeArgs {
@ -119,3 +121,15 @@ export interface ScriptResult {
data: string[][]
metadata: string[][]
}
export interface SchemaFilter {
key: string
value: string
}
export enum RemoteDataState {
NotStarted = 'NotStarted',
Loading = 'Loading',
Done = 'Done',
Error = 'Error',
}

View File

@ -22,7 +22,7 @@ import {AlertRule, Kapacitor, Task} from './kapacitor'
import {Source, SourceLinks} from './sources'
import {DropdownAction, DropdownItem} from './shared'
import {Notification, NotificationFunc} from './notifications'
import {ScriptResult, ScriptStatus} from './ifql'
import {ScriptResult, ScriptStatus, SchemaFilter, RemoteDataState} from './ifql'
export {
Me,
@ -64,4 +64,6 @@ export {
LayoutQuery,
ScriptResult,
ScriptStatus,
SchemaFilter,
RemoteDataState,
}

View File

@ -1,8 +1,9 @@
import React from 'react'
import {shallow} from 'enzyme'
import From from 'src/ifql/components/From'
import {service} from 'test/resources'
jest.mock('src/ifql/apis', () => require('mocks/ifql/apis'))
jest.mock('src/shared/apis/metaQuery', () => require('mocks/ifql/apis'))
const setup = () => {
const props = {
@ -11,6 +12,7 @@ const setup = () => {
value: 'db1',
bodyID: '2',
declarationID: '1',
service,
onChangeArg: () => {},
}

View File

@ -1,6 +1,7 @@
import React from 'react'
import {shallow} from 'enzyme'
import FuncArg from 'src/ifql/components/FuncArg'
import {service} from 'test/resources'
const setup = () => {
const props = {
@ -11,6 +12,7 @@ const setup = () => {
argKey: '',
value: '',
type: '',
service,
onChangeArg: () => {},
onGenerateScript: () => {},
}

View File

@ -1,12 +1,14 @@
import React from 'react'
import {shallow} from 'enzyme'
import TimeMachine from 'src/ifql/components/TimeMachine'
import {service} from 'test/resources'
const setup = () => {
const props = {
script: '',
body: [],
data: [],
service,
suggestions: [],
onSubmitScript: () => {},
onChangeScript: () => {},

View File

@ -4,6 +4,7 @@ import {shallow} from 'enzyme'
import {IFQLPage} from 'src/ifql/containers/IFQLPage'
import TimeMachine from 'src/ifql/components/TimeMachine'
import {ActionTypes} from 'src/ifql/actions'
import {source} from 'test/resources'
jest.mock('src/ifql/apis', () => require('mocks/ifql/apis'))
@ -15,7 +16,7 @@ const setup = () => {
ast: '',
},
services: [],
sources: [],
source,
script: '',
notify: () => {},
params: {

View File

@ -1356,544 +1356,3 @@ export const rule = {
},
queryID: 'chronograf-v1-8e3ba5df-f5ca-4cf4-848e-7e4a4acde86e',
}
// prettier-ignore
export const RESPONSE_METADATA = `#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true
#default,_result,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host
,,0,2018-05-23T17:42:29.536834648Z,2018-05-23T17:43:29.536834648Z,2018-05-23T17:42:29.654Z,0,usage_guest,cpu,cpu-total,WattsInfluxDB
`
export const RESPONSE_NO_METADATA = `,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host
,,0,2018-05-23T17:42:29.536834648Z,2018-05-23T17:43:29.536834648Z,2018-05-23T17:42:29.654Z,0,usage_guest,cpu,cpu-total,WattsInfluxDB
`
export const RESPONSE_NO_MEASUREMENT = `,result,table,_start,_stop,_time,_value,_field,cpu,host
,,0,2018-05-23T17:42:29.536834648Z,2018-05-23T17:43:29.536834648Z,2018-05-23T17:42:29.654Z,0,usage_guest,cpu-total,WattsInfluxDB`
export const EXPECTED_COLUMNS = [
'',
'result',
'table',
'_start',
'_stop',
'_time',
'_value',
'_field',
'_measurement',
'cpu',
'host',
]
export const EXPECTED_METADATA = [
[
'datatype',
'string',
'long',
'dateTime:RFC3339',
'dateTime:RFC3339',
'dateTime:RFC3339',
'double',
'string',
'string',
'string',
'string',
],
[
'partition',
'false',
'false',
'false',
'false',
'false',
'false',
'true',
'true',
'true',
'true',
],
['default', '_result', '', '', '', '', '', '', '', '', ''],
]
// prettier-ignore
export const LARGE_RESPONSE = `#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true
#default,_result,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host
,,0,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu-total,WattsInfluxDB
,,1,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu-total,WattsInfluxDB
,,2,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,70.76923076923077,usage_idle,cpu,cpu-total,WattsInfluxDB
,,3,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu-total,WattsInfluxDB
,,4,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu-total,WattsInfluxDB
,,5,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu-total,WattsInfluxDB
,,6,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu-total,WattsInfluxDB
,,7,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu-total,WattsInfluxDB
,,8,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,11.794871794871796,usage_system,cpu,cpu-total,WattsInfluxDB
,,9,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,17.435897435897434,usage_user,cpu,cpu-total,WattsInfluxDB
,,10,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu0,WattsInfluxDB
,,11,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu0,WattsInfluxDB
,,12,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,47.82608695652174,usage_idle,cpu,cpu0,WattsInfluxDB
,,13,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu0,WattsInfluxDB
,,14,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu0,WattsInfluxDB
,,15,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu0,WattsInfluxDB
,,16,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu0,WattsInfluxDB
,,17,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu0,WattsInfluxDB
,,18,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,26.08695652173913,usage_system,cpu,cpu0,WattsInfluxDB
,,19,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,26.08695652173913,usage_user,cpu,cpu0,WattsInfluxDB
,,20,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu1,WattsInfluxDB
,,21,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu1,WattsInfluxDB
,,22,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,92,usage_idle,cpu,cpu1,WattsInfluxDB
,,23,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu1,WattsInfluxDB
,,24,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu1,WattsInfluxDB
,,25,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu1,WattsInfluxDB
,,26,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu1,WattsInfluxDB
,,27,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu1,WattsInfluxDB
,,28,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_system,cpu,cpu1,WattsInfluxDB
,,29,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_user,cpu,cpu1,WattsInfluxDB
,,30,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu2,WattsInfluxDB
,,31,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu2,WattsInfluxDB
,,32,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,52,usage_idle,cpu,cpu2,WattsInfluxDB
,,33,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu2,WattsInfluxDB
,,34,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu2,WattsInfluxDB
,,35,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu2,WattsInfluxDB
,,36,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu2,WattsInfluxDB
,,37,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu2,WattsInfluxDB
,,38,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,16,usage_system,cpu,cpu2,WattsInfluxDB
,,39,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,32,usage_user,cpu,cpu2,WattsInfluxDB
,,40,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu3,WattsInfluxDB
,,41,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu3,WattsInfluxDB
,,42,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,91.66666666666667,usage_idle,cpu,cpu3,WattsInfluxDB
,,43,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu3,WattsInfluxDB
,,44,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu3,WattsInfluxDB
,,45,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu3,WattsInfluxDB
,,46,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu3,WattsInfluxDB
,,47,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu3,WattsInfluxDB
,,48,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_system,cpu,cpu3,WattsInfluxDB
,,49,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_user,cpu,cpu3,WattsInfluxDB
,,50,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu4,WattsInfluxDB
,,51,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu4,WattsInfluxDB
,,52,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,45.833333333333336,usage_idle,cpu,cpu4,WattsInfluxDB
,,53,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu4,WattsInfluxDB
,,54,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu4,WattsInfluxDB
,,55,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu4,WattsInfluxDB
,,56,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu4,WattsInfluxDB
,,57,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu4,WattsInfluxDB
,,58,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,16.666666666666668,usage_system,cpu,cpu4,WattsInfluxDB
,,59,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,37.5,usage_user,cpu,cpu4,WattsInfluxDB
,,60,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu5,WattsInfluxDB
,,61,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu5,WattsInfluxDB
,,62,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,92,usage_idle,cpu,cpu5,WattsInfluxDB
,,63,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu5,WattsInfluxDB
,,64,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu5,WattsInfluxDB
,,65,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu5,WattsInfluxDB
,,66,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu5,WattsInfluxDB
,,67,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu5,WattsInfluxDB
,,68,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_system,cpu,cpu5,WattsInfluxDB
,,69,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_user,cpu,cpu5,WattsInfluxDB
,,70,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu6,WattsInfluxDB
,,71,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu6,WattsInfluxDB
,,72,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,52,usage_idle,cpu,cpu6,WattsInfluxDB
,,73,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu6,WattsInfluxDB
,,74,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu6,WattsInfluxDB
,,75,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu6,WattsInfluxDB
,,76,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu6,WattsInfluxDB
,,77,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu6,WattsInfluxDB
,,78,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,20,usage_system,cpu,cpu6,WattsInfluxDB
,,79,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,28,usage_user,cpu,cpu6,WattsInfluxDB
,,80,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu7,WattsInfluxDB
,,81,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu7,WattsInfluxDB
,,82,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,91.66666666666667,usage_idle,cpu,cpu7,WattsInfluxDB
,,83,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu7,WattsInfluxDB
,,84,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu7,WattsInfluxDB
,,85,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu7,WattsInfluxDB
,,86,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu7,WattsInfluxDB
,,87,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu7,WattsInfluxDB
,,88,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_system,cpu,cpu7,WattsInfluxDB
,,89,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_user,cpu,cpu7,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,90,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,182180679680,free,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,91,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,9223372036852008920,inodes_free,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,92,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,9223372036854775807,inodes_total,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,93,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,2766887,inodes_used,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,94,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,499963170816,total,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,95,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,314933657600,used,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,96,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,63.352358598865635,used_percent,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,97,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,free,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,98,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,inodes_free,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,99,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,716,inodes_total,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,100,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,716,inodes_used,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,101,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,211968,total,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,102,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,211968,used,disk,devfs,devfs,WattsInfluxDB,rw,/dev
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,103,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,100,used_percent,disk,devfs,devfs,WattsInfluxDB,rw,/dev
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,104,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,258453504,free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,105,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,0,inodes_free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,106,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,0,inodes_total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,107,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,0,inodes_used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,108,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,313827328,total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,109,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,55373824,used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,110,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,17.644678796105353,used_percent,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,111,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,274092032,free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,112,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,0,inodes_free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,113,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,0,inodes_total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,114,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,0,inodes_used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,115,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,313827328,total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,116,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,39735296,used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,117,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,12.66151557075361,used_percent,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,118,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,220499697664,free,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,119,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036852024886,inodes_free,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,120,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,121,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,2750921,inodes_used,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,122,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,499963170816,total,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,123,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,275540910080,used,disk,disk1s1,apfs,WattsInfluxDB,rw,/
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,124,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,55.54805509435289,used_percent,disk,disk1s1,apfs,WattsInfluxDB,rw,/
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,125,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,171371986944,free,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,126,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,9223372036854775741,inodes_free,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,127,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,9223372036854775807,inodes_total,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,128,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,66,inodes_used,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,129,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,499963170816,total,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,130,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,21532672,used,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,131,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,0.012563294136349525,used_percent,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,132,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,167696769024,free,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,133,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,9223372036854775793,inodes_free,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,134,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,9223372036854775807,inodes_total,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,135,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,14,inodes_used,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,136,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,499963170816,total,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,137,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,517763072,used,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,138,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,0.30779925226942506,used_percent,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,139,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,220499697664,free,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,140,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036854775804,inodes_free,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,141,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,142,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3,inodes_used,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,143,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,499963170816,total,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,144,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3221266432,used,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,145,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,1.4398589980229728,used_percent,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,146,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,free,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,147,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,3390710,inodes_free,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,148,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,71,inodes_total,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,149,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,inodes_used,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,150,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,6944174080,total,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,151,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,used,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,152,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,used_percent,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,153,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,389857280,free,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,154,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,4294966864,inodes_free,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,155,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,4294967279,inodes_total,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,156,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,415,inodes_used,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,157,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,1698652160,total,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,158,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,1308794880,used,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,159,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,77.04902220829013,used_percent,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,160,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,0,free,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,161,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,4294966918,inodes_free,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,162,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,4294967279,inodes_total,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,163,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,361,inodes_used,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,164,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,185028608,total,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,165,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,185028608,used,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,166,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,100,used_percent,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,167,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,free,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,168,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,3426691,inodes_free,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,169,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,41,inodes_total,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,170,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,inodes_used,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,171,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,7017863168,total,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,172,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,173,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used_percent,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,174,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,389857280,free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,175,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,4294966864,inodes_free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,176,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,4294967279,inodes_total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,177,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,415,inodes_used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,178,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,1698652160,total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,179,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,1308794880,used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,180,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,77.04902220829013,used_percent,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,181,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,105676800,free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,182,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,4294967273,inodes_free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,183,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,4294967279,inodes_total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,184,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,6,inodes_used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,185,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,609431552,total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,186,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,503754752,used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,187,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,82.65977538360207,used_percent,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,188,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,free,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,189,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,3390710,inodes_free,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,190,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,71,inodes_total,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,191,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,inodes_used,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,192,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,6944174080,total,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,193,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,194,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used_percent,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,195,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,389865472,free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,196,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,4294966864,inodes_free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,197,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,4294967279,inodes_total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,198,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,415,inodes_used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,199,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,1698652160,total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,200,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,1308786688,used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,201,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,77.04853994357502,used_percent,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,202,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,444579840,free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,203,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,4294967132,inodes_free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,204,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,4294967279,inodes_total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,205,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,147,inodes_used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,206,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,524247040,total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,207,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,79667200,used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,208,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,15.196499726541134,used_percent,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,209,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,7413760,free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,210,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,4294966699,inodes_free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,211,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,4294967279,inodes_total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,212,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,580,inodes_used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,213,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,40693760,total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,214,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,33280000,used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,215,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,81.78158027176649,used_percent,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,216,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,0,free,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,217,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,4294966918,inodes_free,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,218,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,4294967279,inodes_total,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,219,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,361,inodes_used,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,220,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,185032704,total,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,221,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,185032704,used,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,222,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,100,used_percent,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,223,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,6318931968,active,mem,WattsInfluxDB
,,224,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,5277085696,available,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,225,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,30.716681480407715,available_percent,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,226,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,buffered,mem,WattsInfluxDB
,,227,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,cached,mem,WattsInfluxDB
,,228,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,1897549824,free,mem,WattsInfluxDB
,,229,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3379535872,inactive,mem,WattsInfluxDB
,,230,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,slab,mem,WattsInfluxDB
,,231,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,17179869184,total,mem,WattsInfluxDB
,,232,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,11902783488,used,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,233,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,69.28331851959229,used_percent,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,234,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3103551488,wired,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,235,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,8.66,load1,system,WattsInfluxDB
,,236,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,3.78,load15,system,WattsInfluxDB
,,237,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,5.35,load5,system,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,238,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,8,n_cpus,system,WattsInfluxDB
,,239,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,11,n_users,system,WattsInfluxDB
,,240,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.34Z,90708,uptime,system,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,241,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.34Z,"1 day, 1:11",uptime_format,system,WattsInfluxDB
`

View File

@ -0,0 +1,573 @@
// prettier-ignore
export const RESPONSE_METADATA = `#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true
#default,_result,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host
,,0,2018-05-23T17:42:29.536834648Z,2018-05-23T17:43:29.536834648Z,2018-05-23T17:42:29.654Z,0,usage_guest,cpu,cpu-total,WattsInfluxDB
`
export const RESPONSE_NO_METADATA = `,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host
,,0,2018-05-23T17:42:29.536834648Z,2018-05-23T17:43:29.536834648Z,2018-05-23T17:42:29.654Z,0,usage_guest,cpu,cpu-total,WattsInfluxDB
`
export const RESPONSE_NO_MEASUREMENT = `,result,table,_start,_stop,_time,_value,_field,cpu,host
,,0,2018-05-23T17:42:29.536834648Z,2018-05-23T17:43:29.536834648Z,2018-05-23T17:42:29.654Z,0,usage_guest,cpu-total,WattsInfluxDB`
export const EXPECTED_COLUMNS = [
'',
'result',
'table',
'_start',
'_stop',
'_time',
'_value',
'_field',
'_measurement',
'cpu',
'host',
]
export const EXPECTED_METADATA = [
[
'datatype',
'string',
'long',
'dateTime:RFC3339',
'dateTime:RFC3339',
'dateTime:RFC3339',
'double',
'string',
'string',
'string',
'string',
],
[
'partition',
'false',
'false',
'false',
'false',
'false',
'false',
'true',
'true',
'true',
'true',
],
['default', '_result', '', '', '', '', '', '', '', '', ''],
]
export const MEASUREMENTS_RESPONSE = `#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string
#partition,false,false,false,false,false,false
#default,_result,,,,,
,result,table,_start,_stop,_measurement,_value
,,0,2018-05-24T21:48:17.127227579Z,2018-05-24T22:48:17.127227579Z,disk,disk
,,0,2018-05-24T21:48:17.127227579Z,2018-05-24T22:48:17.127227579Z,diskio,diskio
`
/*
From the following request:
from(db: "telegraf")
|> range(start: -24h)
|> group(none: true)
|> keys(except:["_time","_value","_start","_stop"])
|> map(fn: (r) => r._value)
*/
export const TAGS_RESPONSE = `#datatype,string,long,string
#partition,false,false,false
#default,_result,,
,result,table,_value
,,0,_field
,,0,_measurement
,,0,cpu
,,0,device
,,0,fstype
,,0,host
,,0,mode
,,0,name
,,0,path
`
// prettier-ignore
export const LARGE_RESPONSE = `#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true
#default,_result,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host
,,0,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu-total,WattsInfluxDB
,,1,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu-total,WattsInfluxDB
,,2,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,70.76923076923077,usage_idle,cpu,cpu-total,WattsInfluxDB
,,3,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu-total,WattsInfluxDB
,,4,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu-total,WattsInfluxDB
,,5,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu-total,WattsInfluxDB
,,6,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu-total,WattsInfluxDB
,,7,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu-total,WattsInfluxDB
,,8,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,11.794871794871796,usage_system,cpu,cpu-total,WattsInfluxDB
,,9,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,17.435897435897434,usage_user,cpu,cpu-total,WattsInfluxDB
,,10,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu0,WattsInfluxDB
,,11,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu0,WattsInfluxDB
,,12,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,47.82608695652174,usage_idle,cpu,cpu0,WattsInfluxDB
,,13,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu0,WattsInfluxDB
,,14,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu0,WattsInfluxDB
,,15,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu0,WattsInfluxDB
,,16,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu0,WattsInfluxDB
,,17,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu0,WattsInfluxDB
,,18,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,26.08695652173913,usage_system,cpu,cpu0,WattsInfluxDB
,,19,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,26.08695652173913,usage_user,cpu,cpu0,WattsInfluxDB
,,20,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu1,WattsInfluxDB
,,21,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu1,WattsInfluxDB
,,22,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,92,usage_idle,cpu,cpu1,WattsInfluxDB
,,23,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu1,WattsInfluxDB
,,24,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu1,WattsInfluxDB
,,25,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu1,WattsInfluxDB
,,26,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu1,WattsInfluxDB
,,27,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu1,WattsInfluxDB
,,28,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_system,cpu,cpu1,WattsInfluxDB
,,29,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_user,cpu,cpu1,WattsInfluxDB
,,30,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu2,WattsInfluxDB
,,31,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu2,WattsInfluxDB
,,32,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,52,usage_idle,cpu,cpu2,WattsInfluxDB
,,33,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu2,WattsInfluxDB
,,34,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu2,WattsInfluxDB
,,35,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu2,WattsInfluxDB
,,36,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu2,WattsInfluxDB
,,37,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu2,WattsInfluxDB
,,38,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,16,usage_system,cpu,cpu2,WattsInfluxDB
,,39,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,32,usage_user,cpu,cpu2,WattsInfluxDB
,,40,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu3,WattsInfluxDB
,,41,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu3,WattsInfluxDB
,,42,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,91.66666666666667,usage_idle,cpu,cpu3,WattsInfluxDB
,,43,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu3,WattsInfluxDB
,,44,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu3,WattsInfluxDB
,,45,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu3,WattsInfluxDB
,,46,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu3,WattsInfluxDB
,,47,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu3,WattsInfluxDB
,,48,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_system,cpu,cpu3,WattsInfluxDB
,,49,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_user,cpu,cpu3,WattsInfluxDB
,,50,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu4,WattsInfluxDB
,,51,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu4,WattsInfluxDB
,,52,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,45.833333333333336,usage_idle,cpu,cpu4,WattsInfluxDB
,,53,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu4,WattsInfluxDB
,,54,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu4,WattsInfluxDB
,,55,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu4,WattsInfluxDB
,,56,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu4,WattsInfluxDB
,,57,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu4,WattsInfluxDB
,,58,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,16.666666666666668,usage_system,cpu,cpu4,WattsInfluxDB
,,59,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,37.5,usage_user,cpu,cpu4,WattsInfluxDB
,,60,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu5,WattsInfluxDB
,,61,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu5,WattsInfluxDB
,,62,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,92,usage_idle,cpu,cpu5,WattsInfluxDB
,,63,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu5,WattsInfluxDB
,,64,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu5,WattsInfluxDB
,,65,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu5,WattsInfluxDB
,,66,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu5,WattsInfluxDB
,,67,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu5,WattsInfluxDB
,,68,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_system,cpu,cpu5,WattsInfluxDB
,,69,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4,usage_user,cpu,cpu5,WattsInfluxDB
,,70,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu6,WattsInfluxDB
,,71,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu6,WattsInfluxDB
,,72,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,52,usage_idle,cpu,cpu6,WattsInfluxDB
,,73,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu6,WattsInfluxDB
,,74,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu6,WattsInfluxDB
,,75,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu6,WattsInfluxDB
,,76,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu6,WattsInfluxDB
,,77,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu6,WattsInfluxDB
,,78,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,20,usage_system,cpu,cpu6,WattsInfluxDB
,,79,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,28,usage_user,cpu,cpu6,WattsInfluxDB
,,80,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest,cpu,cpu7,WattsInfluxDB
,,81,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_guest_nice,cpu,cpu7,WattsInfluxDB
,,82,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,91.66666666666667,usage_idle,cpu,cpu7,WattsInfluxDB
,,83,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_iowait,cpu,cpu7,WattsInfluxDB
,,84,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_irq,cpu,cpu7,WattsInfluxDB
,,85,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_nice,cpu,cpu7,WattsInfluxDB
,,86,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_softirq,cpu,cpu7,WattsInfluxDB
,,87,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,usage_steal,cpu,cpu7,WattsInfluxDB
,,88,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_system,cpu,cpu7,WattsInfluxDB
,,89,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,4.166666666666667,usage_user,cpu,cpu7,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,90,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,182180679680,free,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,91,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,9223372036852008920,inodes_free,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,92,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,9223372036854775807,inodes_total,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,93,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,2766887,inodes_used,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,94,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,499963170816,total,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
,,95,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,314933657600,used,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,96,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T21:05:08.947Z,63.352358598865635,used_percent,disk,/Users/watts/Downloads/TablePlus.app,nullfs,WattsInfluxDB,ro,/private/var/folders/f4/zd7n1rqj7xj6w7c0njkmmjlh0000gn/T/AppTranslocation/F4D8D166-F848-4862-94F6-B51C00E2EB7A
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,97,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,free,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,98,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,inodes_free,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,99,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,716,inodes_total,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,100,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,716,inodes_used,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,101,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,211968,total,disk,devfs,devfs,WattsInfluxDB,rw,/dev
,,102,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,211968,used,disk,devfs,devfs,WattsInfluxDB,rw,/dev
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,103,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,100,used_percent,disk,devfs,devfs,WattsInfluxDB,rw,/dev
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,104,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,258453504,free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,105,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,0,inodes_free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,106,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,0,inodes_total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,107,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,0,inodes_used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,108,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,313827328,total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
,,109,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,55373824,used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,110,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-18T03:13:34.143Z,17.644678796105353,used_percent,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/bless.9mnm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,111,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,274092032,free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,112,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,0,inodes_free,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,113,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,0,inodes_total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,114,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,0,inodes_used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,115,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,313827328,total,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
,,116,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,39735296,used,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,117,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-12T05:09:50.004Z,12.66151557075361,used_percent,disk,disk0s1,msdos,WattsInfluxDB,rw,/Volumes/firmwaresyncd.ushpRB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,118,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,220499697664,free,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,119,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036852024886,inodes_free,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,120,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,121,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,2750921,inodes_used,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,122,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,499963170816,total,disk,disk1s1,apfs,WattsInfluxDB,rw,/
,,123,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,275540910080,used,disk,disk1s1,apfs,WattsInfluxDB,rw,/
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,124,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,55.54805509435289,used_percent,disk,disk1s1,apfs,WattsInfluxDB,rw,/
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,125,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,171371986944,free,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,126,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,9223372036854775741,inodes_free,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,127,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,9223372036854775807,inodes_total,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,128,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,66,inodes_used,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,129,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,499963170816,total,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
,,130,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,21532672,used,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,131,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-20T04:05:50.608Z,0.012563294136349525,used_percent,disk,disk1s2,apfs,WattsInfluxDB,rw,/Volumes/Preboot 1
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,132,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,167696769024,free,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,133,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,9223372036854775793,inodes_free,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,134,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,9223372036854775807,inodes_total,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,135,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,14,inodes_used,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,136,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,499963170816,total,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
,,137,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,517763072,used,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,138,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-19T19:33:36.939Z,0.30779925226942506,used_percent,disk,disk1s3,apfs,WattsInfluxDB,rw,/Volumes/Recovery
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,139,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,220499697664,free,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,140,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036854775804,inodes_free,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,141,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,142,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3,inodes_used,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,143,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,499963170816,total,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
,,144,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3221266432,used,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,145,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,1.4398589980229728,used_percent,disk,disk1s4,apfs,WattsInfluxDB,rw,/private/var/vm
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,146,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,free,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,147,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,3390710,inodes_free,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,148,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,71,inodes_total,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,149,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,inodes_used,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,150,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,6944174080,total,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,151,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,used,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,152,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-07T04:06:42.333Z,0,used_percent,disk,disk2,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,153,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,389857280,free,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,154,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,4294966864,inodes_free,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,155,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,4294967279,inodes_total,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,156,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,415,inodes_used,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,157,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,1698652160,total,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
,,158,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,1308794880,used,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,159,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-14T16:10:41.251Z,77.04902220829013,used_percent,disk,disk2s1,hfs,WattsInfluxDB,ro,/Volumes/FF95FBB6-192D-47B9-BBBC-833F6368D429
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,160,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,0,free,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,161,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,4294966918,inodes_free,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,162,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,4294967279,inodes_total,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,163,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,361,inodes_used,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,164,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,185028608,total,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
,,165,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,185028608,used,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,166,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-17T22:33:07.478Z,100,used_percent,disk,disk2s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.q62GM7vGxK/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,167,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,free,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,168,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,3426691,inodes_free,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,169,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,41,inodes_total,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,170,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,inodes_used,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,171,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,7017863168,total,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
,,172,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,173,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used_percent,disk,disk3,udf,WattsInfluxDB,ro,/Volumes/Thor Ragnarok
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,174,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,389857280,free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,175,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,4294966864,inodes_free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,176,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,4294967279,inodes_total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,177,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,415,inodes_used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,178,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,1698652160,total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
,,179,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,1308794880,used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,180,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-11T17:15:35.255Z,77.04902220829013,used_percent,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/0FD2794B-226F-4DEB-A19C-75E005A6AC57
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,181,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,105676800,free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,182,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,4294967273,inodes_free,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,183,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,4294967279,inodes_total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,184,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,6,inodes_used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,185,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,609431552,total,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
,,186,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,503754752,used,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,187,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:46:03.067Z,82.65977538360207,used_percent,disk,disk3s1,hfs,WattsInfluxDB,ro,/Volumes/RecoveryHDMeta
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,188,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,free,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,189,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,3390710,inodes_free,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,190,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,71,inodes_total,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,191,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,inodes_used,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,192,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,6944174080,total,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
,,193,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,194,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-04T16:44:35.069Z,0,used_percent,disk,disk4,udf,WattsInfluxDB,ro,/Volumes/Jumanji.Benvenuti.Nella.Giungla[Kasdan.2017.dvd9.kx]
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,195,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,389865472,free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,196,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,4294966864,inodes_free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,197,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,4294967279,inodes_total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,198,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,415,inodes_used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,199,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,1698652160,total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
,,200,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,1308786688,used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,201,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-26T16:25:42.052Z,77.04853994357502,used_percent,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/55713F97-1C88-4076-B6BB-8897592CB08B
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,202,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,444579840,free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,203,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,4294967132,inodes_free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,204,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,4294967279,inodes_total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,205,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,147,inodes_used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,206,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,524247040,total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
,,207,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,79667200,used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,208,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-22T19:11:41.599Z,15.196499726541134,used_percent,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/A81441DB-3D0C-48E8-8BED-F53FCD1D6D3C
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,209,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,7413760,free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,210,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,4294966699,inodes_free,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,211,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,4294967279,inodes_total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,212,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,580,inodes_used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,213,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,40693760,total,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
,,214,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,33280000,used,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,215,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-04-27T17:08:29.908Z,81.78158027176649,used_percent,disk,disk4s1,hfs,WattsInfluxDB,ro,/Volumes/Tunnelblick
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,216,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,0,free,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,217,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,4294966918,inodes_free,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,218,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,4294967279,inodes_total,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,219,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,361,inodes_used,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,220,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,185032704,total,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
,,221,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,185032704,used,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true,true,true,true,true
#default,_result,,,,,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,mode,path
,,222,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-01T19:26:01.539Z,100,used_percent,disk,disk5s2,hfs,WattsInfluxDB,ro,/private/tmp/KSInstallAction.1EQur33ekx/m
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,223,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,6318931968,active,mem,WattsInfluxDB
,,224,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,5277085696,available,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,225,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,30.716681480407715,available_percent,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,226,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,buffered,mem,WattsInfluxDB
,,227,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,cached,mem,WattsInfluxDB
,,228,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,1897549824,free,mem,WattsInfluxDB
,,229,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3379535872,inactive,mem,WattsInfluxDB
,,230,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,0,slab,mem,WattsInfluxDB
,,231,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,17179869184,total,mem,WattsInfluxDB
,,232,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,11902783488,used,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,233,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,69.28331851959229,used_percent,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,234,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.584Z,3103551488,wired,mem,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,235,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,8.66,load1,system,WattsInfluxDB
,,236,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,3.78,load15,system,WattsInfluxDB
,,237,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,5.35,load5,system,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,238,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,8,n_cpus,system,WattsInfluxDB
,,239,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.589Z,11,n_users,system,WattsInfluxDB
,,240,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.34Z,90708,uptime,system,WattsInfluxDB
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string
#partition,false,false,false,false,false,false,true,true,true
#default,_result,,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement,host
,,241,1677-09-21T00:12:43.145224192Z,2018-05-22T22:39:17.042276772Z,2018-05-22T22:39:12.34Z,"1 day, 1:11",uptime_format,system,WattsInfluxDB
`

View File

@ -0,0 +1,15 @@
import parseMeasurements from 'src/shared/parsing/v2/measurements'
import {MEASUREMENTS_RESPONSE} from 'test/shared/parsing/v2/constants'
describe('measurements parser', () => {
it('returns no measurements for an empty results response', () => {
expect(parseMeasurements('')).toEqual([])
})
it('returns the approriate measurements', () => {
const actual = parseMeasurements(MEASUREMENTS_RESPONSE)
const expected = ['disk', 'diskio']
expect(actual).toEqual(expected)
})
})

View File

@ -1,14 +1,13 @@
import {parseResults} from 'src/shared/parsing/ifql'
import {parseResults} from 'src/shared/parsing/v2/results'
import {
RESPONSE_NO_METADATA,
RESPONSE_METADATA,
RESPONSE_NO_MEASUREMENT,
LARGE_RESPONSE,
EXPECTED_METADATA,
EXPECTED_COLUMNS,
} from 'test/shared/parsing/constants'
} from 'test/shared/parsing/v2/constants'
describe('IFQL response parser', () => {
describe('IFQL results parser', () => {
it('parseResults into the right number of tables', () => {
const result = parseResults(LARGE_RESPONSE)
@ -34,20 +33,4 @@ describe('IFQL response parser', () => {
expect(actual).toEqual(EXPECTED_METADATA)
})
})
describe('name', () => {
it('uses the measurement as a name when present', () => {
const actual = parseResults(RESPONSE_METADATA)[0].name
const expected = 'cpu'
expect(actual).toBe(expected)
})
it('uses the index as a name if a measurement column is not present', () => {
const actual = parseResults(RESPONSE_NO_MEASUREMENT)[0].name
const expected = 'Result 0'
expect(actual).toBe(expected)
})
})
})

View File

@ -0,0 +1,25 @@
import parseValuesColumn from 'src/shared/parsing/v2/tags'
import {TAGS_RESPONSE} from 'test/shared/parsing/v2/constants'
describe('measurements parser', () => {
it('returns no measurements for an empty results response', () => {
expect(parseValuesColumn('')).toEqual([])
})
it('returns the approriate measurements', () => {
const actual = parseValuesColumn(TAGS_RESPONSE)
const expected = [
'_field',
'_measurement',
'cpu',
'device',
'fstype',
'host',
'mode',
'name',
'path',
]
expect(actual).toEqual(expected)
})
})