Giter Site home page Giter Site logo

baidu / curve Goto Github PK

View Code? Open in Web Editor NEW
516.0 516.0 133.0 1.82 MB

An Integrated Experimental Platform for time series data anomaly detection.

Home Page: http://curve.baidu.com

License: Apache License 2.0

Shell 3.78% Python 30.58% JavaScript 57.96% HTML 0.56% CSS 0.01% Less 7.11%
anomaly-detection labeling monitoring-tool series-data

curve's Introduction

house.baidu.com

curve's People

Contributors

0xflotus avatar ldp12416 avatar minorcong avatar nisxiya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

curve's Issues

generate() got an unexpected keyword argument 'spec'

error message
deploy api... Collecting swagger-py-codegen==0.2.9 Collecting dpath (from swagger-py-codegen==0.2.9) Requirement already satisfied: six in ./venv/lib/python3.6/site-packages (from swagger-py-codegen==0.2.9) (1.11.0) Collecting PyYAML (from swagger-py-codegen==0.2.9) Requirement already satisfied: click in ./venv/lib/python3.6/site-packages (from swagger-py-codegen==0.2.9) (7.0) Requirement already satisfied: jinja2 in ./venv/lib/python3.6/site-packages (from swagger-py-codegen==0.2.9) (2.10) Requirement already satisfied: MarkupSafe>=0.23 in ./venv/lib/python3.6/site-packages (from jinja2->swagger-py-codegen==0.2.9) (1.0) Installing collected packages: dpath, PyYAML, swagger-py-codegen Successfully installed PyYAML-3.13 dpath-1.4.2 swagger-py-codegen-0.2.9 Traceback (most recent call last): File "xxx/Curve/venv/bin/swagger_py_codegen", line 11, in <module> sys.exit(generate()) File "xxx/Curve/venv/lib/python3.6/site-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "xxx/Curve/venv/lib/python3.6/site-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "xxx/Curve/venv/lib/python3.6/site-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "xxx/Curve/venv/lib/python3.6/site-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) TypeError: generate() got an unexpected keyword argument 'spec'

env:
python 3.6 / 2.7 (i have tried both of them)
ubuntu 18.04
node.js 10.13.0 (includes npm 6.4.1)

seems it occured when executed swagger_py_codegen --ui --spec -s doc/web_api.yaml api -p curve

Thanks a lot !

数据滑动时出现两次刷新的效果

按左键移动数据时,出现两次刷新的效果,第一次刷新结果为当前状态,第二次刷新结果为平移后的数据。

第一次刷新效果是否可以去掉

log

####1. - FileNotFoundError: [Errno 2] No such file or directory: '/home/rock/Curve-master/api/log/curve.log'

###2. 我运行pytest 进行后台检测的时候 提示这个错误 route和validators 文件都已经生成

Error: Request failed with status code 500

Hi - I have got the app running. But uploading a csv fails with the error
Error: Request failed with status code 500

The page shows "Uploading and pre-processing, please wait.."

Interactive Labeling

Hey guys,

May I ask whether it's possible to label on single point as an outlier? I've tried many ways like selecting relatively narrow range on the time series but it looks like minimum 2 points are labeled every time.

Was I doing something incorrectly?

Thanks for helping in advance.

tmp

Bugs found during trial

  • Data more than I have selected is labelled as anomaly
  • Buttons cancel the label, export, delete and some non-texted interactive functions are inactive
  • Value of anomaly percent does not change according to the labelled curves
  • Some of the curves I have labelled lost after refreshing
    @ldp12416 Enjoy

web page inaccessable

After updating to the new commit 84acec7, the web page could not be visited, which indicates: {"message": "The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again."}

image

about the button of time range

screen shot 2017-11-02 at 12 21 53 pm
As the figure shows, I choose the time range is 3d, while the buttons of 7d and 14d do not work. That is to say, the time range can only be narrowed, not expanded. The only way to show the larger time range is reloading the data. Besides, it would be better if the selected time range button is highlighted.
@ldp12416

Incorrect time series naming from first dotted element of the uploaded csv file

Curve seems to be naming the time series incorrectly, based on the first dotted element in the csv filename.
I uploaded a csv named stats.statsd.bad_lines_seen.20161110.ts.value.csv and the Curve web app presented it as stats.
I tested this further by uploading a file named stats.graphite-dev-2.vda.ioInProgress.baidu_curve.csv and was presented with the error:

stats upload failed...Can't upload file with the same name, please try again

I then renamed the file to stats-graphite-dev-2.vda.ioInProgress.baidu_curve.csv which did upload to Curve, but named the time series stats-graphite-dev-2

It would probably be better if Curve just named the time series based on the filename, excluding the .csv extension.

Support for multi-metric labeling: single entity

We may use multi-metric to describe the status of entity, anomalies are marked on all the metrics, this is a scene with multi-curves labeling.
ps. another scene, we may use multi-dimension statistics to describe the status of entities, anomalies are marked on one or more dimensions.

_OLD_VIRTUAL_PATH: unbound variable

Hi all,

When i deploy curve venv, i encounter the following problem:
ppt@ppt-virtual-machine:~/jyy/Curve-master$ sudo ./control.sh start

local Curve version: none

=============================================================
deploy venv...
New python executable in /home/ppt/jyy/Curve-master/venv/bin/python
Installing setuptools, pip...done.
/home/ppt/jyy/Curve-master/venv/bin/activate: 行 8: _OLD_VIRTUAL_PATH: 未绑定的变量

How to fix it ?

Thanks!

Exported csv has no label data on unlabelled data

When data is labelled in the UI and exported it is only exported with a ,1 set on the labelled data in the csv, data that has not been labelled is left blank, for example:

timestamp,value,label
1478765820,0.0,
1478765880,0.0,
1478765940,0.0,
1478766000,0.0,1
1478766060,0.05,1
1478766120,0.0,
1478766180,0.0,
1478766240,0.0,

Due to the fact that the label column has been added, should all unlabelled data be labelled with ,0 rather than just ,?

This would reduce the requirement for the user to have to preprocess the exported csv or deal with NaNs in any upstream processing they did with the exported csv as all the label data would be present.

Inactive functions

Buttons like cancel the label, export, delete, and some non-texted interactive functions are inactive, are these features implemented?

decoding int error.

[2019-05-13 14:55:29,204] ERROR in app: Exception on /v1/datas [GET]
Traceback (most recent call last):
File "/Curve/venv/lib/python3.5/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/Curve/venv/lib/python3.5/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functionsrule.endpoint
File "/Curve/venv/lib/python3.5/site-packages/flask_restful/init.py", line 458, in wrapper
resp = resource(*args, **kwargs)
File "/Curve/venv/lib/python3.5/site-packages/flask/views.py", line 88, in view
return self.dispatch_request(*args, **kwargs)
File "/Curve/venv/lib/python3.5/site-packages/flask_restful/init.py", line 573, in dispatch_request
resp = meth(*args, **kwargs)
File "/Curve/api/curve/v1/validators.py", line 115, in wrapper
resp = view(*args, **kwargs)
File "/Curve/api/curve/v1/validators.py", line 106, in wrapper
return view(*args, **kwargs)
File "/Curve/api/curve/v1/api/datas.py", line 35, in get
return self.render(data=[data.view() for data in datas])
File "/Curve/api/curve/v1/api/datas.py", line 35, in
return self.render(data=[data.view() for data in datas])
File "/Curve/api/curve/v1/models/data_abstract.py", line 61, in view
'end': min(self.start_time + 86400, self.end_time) * 1000
TypeError: can't concat bytes to int`

After fixing many errors in the last PR. This is the error that has me stumped.
Looks like the start_time is not being decoded into an int properly. Please assist with pointers

Changing the js code has no effect

I tried to alter the dialog.js code under dir /web/src/common/baseComponent. When I stop and restart, it still runs the code before change.

Can not find ./log/uwsgi.log

api deployed.

start Curve...
[uWSGI] getting INI configuration from uwsgi.ini
Curve started.
open("./log/uwsgi.log"): No such file or directory [core/logging.c line 288]

I am using python2.7.6 ubuntu14.04LTS

[Solution] Left preview delete button does not work

Clicking triple dots at the right side of the specific data in left side-bar, then clicking 'delete'. In the pop-up window, the red 'delete' button does not work.

Raise error :
Uncaught TypeError: this.props.showLoading is not a function at e.value (dialog.js:58) at Object.i (ReactErrorUtils.js:24) at a (EventPluginUtils.js:83) at Object.s [as executeDispatchesInOrder] (EventPluginUtils.js:106) at p (EventPluginHub.js:41) at m (EventPluginHub.js:52) at Array.forEach (<anonymous>) at i (forEachAccumulated.js:22) at Object.processEventQueue (EventPluginHub.js:252) at i (ReactEventEmitterMixin.js:15)

can't load CSV file

i want to try your system with a labeled csv file , but it just show can't "Curve upload failed ,Please try again ", so what is the problem ? and i want to modify your system with more Input Source(like TimeSeriesDatabase , are you guys welcome on this? if we are done , we will give the PR to you ) , hope that you can reply why the problem show and how to fix it .

Incompatible between conda and virtualenv

I find that if your computer installed Anoconda, the build process will report errors. The solution is delete the Anoconda folder, when the environment build is finished, then restore the Anoconda folder.

Support for TSDB

  • Internal: We should find databases to improve the performance of curve queries. Of course, inappropriate ORM should be the first one to be replaced.
  • External: CSV is a simple format, but it can't satisfy all scenes. We MAY support a method to add data directly from external database.

Some data files upload failed

Some .csv data file upload failed. What are the specific requirements for uploading files? such as column names, etc.

upload fail...

i uploaded my test data, which uses the same format as sample 3th, but can't upload.

the latest version can't compile

when i compile the latest version ,i found an error

"Module not found: Error: Can't resolve 'react-icons/lib/fa/search' in '/anaconda3/envs/python3/Curve/web/src/index/component'"

my python version is Python 3.6.4 :: Anaconda, Inc, i don't konw what happen and can't find the log file. please help me.

Stuck in "Uploading and pre-processing, please wait" page

Hey, while uploading CSV the localhost:/8080 web is stuck as picture below:

loading

My data is like

timestamp | value
1534521600 | 0.00
1534608000 | 0.00
1534694400 | 0.00
1534780800 | 1048.20
1534867200 | 0.00
1534953600 | 747.40
1535040000 | 14606.00
1535126400 | 7219.20
1535212800 | 150.40
1535299200 | 5228.00
1535385600 | 2450.40
1535472000 | 1101.40
1535558400 | 3808.60

Useful band and reference

  1. reference with min/max sample for lower/upper anomalies
  2. KernelDensity-based threshold generation
  3. ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.