Ticket #4812 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Live Data: Create a 'FakeDataLiveListener'

Reported by: Russell Taylor Owned by: Russell Taylor
Priority: critical Milestone: Release 2.1
Component: Mantid Keywords: LiveData, ADARA
Cc: Blocked By: #4802
Blocking: Tester: Stuart Campbell

Description

This is a concrete implementation of ILiveListener (see #4802) that we can use for testing ahead of the implementation of the real listeners (and real streams for them to listen to). It will just create fake event data (or possibly read from a file and replay that).

It should give a 'realistic' data rate (we need to decide what that is).

Change History

comment:1 Changed 9 years ago by Russell Taylor

  • Status changed from new to accepted

comment:2 Changed 9 years ago by Russell Taylor

Initial, very simple, 'fake data' listener. Re #4812.

Changeset: a81f2b1dc3ad302407390aaa1821943c9187fd11

comment:3 Changed 9 years ago by Russell Taylor

Copy existing FakeEventDataListener code to test/TestDataListener.

This can then serve as a 'predictable' listener for testing while the FakeEventDataListener is scaled up to generate a certain number of events/sec. Use it in LoadLiveDataTest & StartLiveDataTest. Re #4812, Re #4787, Re #4803.

Changeset: 06893b4a11e9b16d678fcc096651bc71db54e53b

comment:4 Changed 9 years ago by Russell Taylor

Generate events continuously in a separate thread. Re #4812.

Changeset: 7038be26aab7856927054dad21ab49135dea232e

comment:5 Changed 9 years ago by Russell Taylor

Reduce data rate to see if slow win32 machine can cope. Re #4812.

Changeset: 86ad695a9066aa94f484a6255e9b0da4d6160f6e

comment:6 Changed 9 years ago by Russell Taylor

Widen tolerance for lousy win32 box. Re #4812.

Changeset: e1fa073506ea34bbec82d235e8f38ed12a339b4d

comment:7 Changed 9 years ago by Russell Taylor

Add a listener that read from a prenexus file. Re #4812.

Set the filename and number of chunks via config properties (see header file for details). Now: Loads a chunk on each call to extractData(). Next: Kick off the loading ahead of time in a separate thread.

Changeset: fe7342ed2a45173325abb9a3704973f6ba164093

comment:8 Changed 9 years ago by Russell Taylor

Allow data rate for 'fake' listener to be set via config property.

Re #4812. Also forgot to check in changed CMakeLists last time.

Changeset: 266e12e36318ac765d7f087cdd1e0aa77d4dea52

comment:9 Changed 9 years ago by Russell Taylor

Make tolerance even wider for Windows' benefit. Re #4812.

Changeset: 9f466286bb40ab7c4abc2be0659a591086583736

comment:10 Changed 9 years ago by Russell Taylor

FileEventDataListener does the loading in a separate thread....

so that it happens between calls to extractData. Re #4812. Once the whole file is read, an exception is thrown to stop the calling algorithm.

Changeset: a764b6e0f9a6ee12a3296785dbb8ed09c4bef6de

comment:11 Changed 9 years ago by Russell Taylor

Test for FileEventDataListener. Re #4812.

Changeset: 34a85ef3fa5d5e680c0a93b0cc557ca894f45477

comment:12 Changed 9 years ago by Russell Taylor

Relax check on no. of events in FakeEventDataListenerTest. Re #4812.

Relax it to almost no check as it seems to fluctuate so much in some places and this is just a testing class anyway.

Changeset: aad9b197b4b97bf4326aec20210d1f238c8826cc

comment:13 Changed 9 years ago by Janik Zikovsky

Refs #4803 test for MonitorLiveData not allowing overwriting

of the same workspace from separate threads. Also, lock in FakeEventDataListener refs #4812

Changeset: 202023bbd52cdf4dcc49b7cef6ddd5f6b5cc0a74

comment:14 Changed 9 years ago by Janik Zikovsky

Refs #4812: better locking strategy and a thread-safety test

Changeset: 5faf49e8589ba065884abbbddc7ea87852618ba2

comment:15 Changed 9 years ago by Russell Taylor

Relax check on no. of events in FakeEventDataListenerTest. Re #4812.

Relax it to almost no check as it seems to fluctuate so much in some places and this is just a testing class anyway.

Changeset: aad9b197b4b97bf4326aec20210d1f238c8826cc

comment:16 Changed 9 years ago by Janik Zikovsky

Refs #4803 test for MonitorLiveData not allowing overwriting

of the same workspace from separate threads. Also, lock in FakeEventDataListener refs #4812

Changeset: 202023bbd52cdf4dcc49b7cef6ddd5f6b5cc0a74

comment:17 Changed 9 years ago by Janik Zikovsky

Refs #4812: better locking strategy and a thread-safety test

Changeset: 5faf49e8589ba065884abbbddc7ea87852618ba2

comment:18 Changed 9 years ago by Russell Taylor

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:19 Changed 8 years ago by Stuart Campbell

  • Status changed from verify to verifying
  • Tester set to Stuart Campbell

comment:20 Changed 8 years ago by Stuart Campbell

  • Status changed from verifying to closed

Looks good... I'm sure that there will be more features needed in the future!

comment:21 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 5659

Note: See TracTickets for help on using tickets.