Skip to content
This repository has been archived by the owner on Sep 18, 2024. It is now read-only.

Show trial environment information in reuse mode #3389

Merged
merged 48 commits into from
Feb 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
dcd2ffd
Merge pull request #251 from microsoft/master
SparkSnail May 29, 2020
3b8b6fb
Merge pull request #252 from microsoft/master
SparkSnail Jun 7, 2020
916e444
Merge pull request #253 from microsoft/master
SparkSnail Jun 15, 2020
caeffb8
Merge pull request #254 from microsoft/master
SparkSnail Jun 17, 2020
57c300e
Merge pull request #255 from microsoft/master
SparkSnail Jun 28, 2020
65660e6
Merge pull request #257 from microsoft/master
SparkSnail Jun 30, 2020
9376d6a
Merge pull request #258 from microsoft/master
SparkSnail Jul 1, 2020
5fef3cf
Merge pull request #259 from microsoft/master
SparkSnail Jul 3, 2020
5544ae8
Merge pull request #261 from microsoft/master
SparkSnail Jul 10, 2020
f9fdfee
Merge pull request #262 from microsoft/master
SparkSnail Jul 16, 2020
c5e26ef
add trial job detail link
SparkSnail Jul 19, 2020
10a04ba
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Jul 23, 2020
aa64fe6
Merge pull request #263 from microsoft/master
SparkSnail Jul 27, 2020
4ed907f
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Jul 27, 2020
c6a5f8c
Merge pull request #264 from microsoft/master
SparkSnail Jul 31, 2020
68abe2f
Merge pull request #265 from microsoft/master
SparkSnail Aug 4, 2020
c2b50d2
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Aug 6, 2020
14e9619
Merge pull request #266 from microsoft/master
SparkSnail Aug 13, 2020
f69e206
Merge pull request #267 from microsoft/master
SparkSnail Aug 13, 2020
a5bb753
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Aug 21, 2020
12ef0aa
Merge pull request #270 from microsoft/master
SparkSnail Sep 10, 2020
7600a0f
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Sep 10, 2020
ddcf229
Merge pull request #271 from microsoft/master
SparkSnail Sep 15, 2020
bd327d4
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Sep 15, 2020
c4f6e66
Merge pull request #272 from microsoft/master
SparkSnail Sep 21, 2020
da2d1c4
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Sep 21, 2020
88f8c1b
Merge pull request #273 from microsoft/master
SparkSnail Sep 22, 2020
b59d0e2
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Sep 22, 2020
7eb15f8
Merge pull request #274 from microsoft/master
SparkSnail Oct 27, 2020
f73367f
Merge pull request #275 from microsoft/master
SparkSnail Nov 16, 2020
765bc33
Merge pull request #276 from microsoft/master
SparkSnail Nov 29, 2020
cff51cc
Merge pull request #277 from microsoft/master
SparkSnail Dec 2, 2020
4232fea
Merge pull request #278 from microsoft/master
SparkSnail Dec 8, 2020
cb9efcc
Merge pull request #279 from microsoft/master
SparkSnail Dec 11, 2020
ee71f16
Merge pull request #280 from microsoft/master
SparkSnail Dec 14, 2020
c3921ed
Merge pull request #281 from microsoft/master
SparkSnail Dec 24, 2020
2acbee3
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Dec 29, 2020
561f1ad
Merge pull request #284 from microsoft/master
SparkSnail Jan 22, 2021
21afa8c
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Jan 22, 2021
daf028a
Merge pull request #285 from microsoft/master
SparkSnail Feb 5, 2021
49e3f94
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Feb 5, 2021
9a8a4a3
Merge pull request #286 from microsoft/master
SparkSnail Feb 8, 2021
98dbd10
Merge branch 'master' of https://github.com/SparkSnail/nni
SparkSnail Feb 18, 2021
31cf5a3
show trial environment information
SparkSnail Feb 19, 2021
22a38dd
Merge pull request #287 from microsoft/master
SparkSnail Feb 23, 2021
357f3f9
Merge branch 'master' of https://github.com/SparkSnail/nni into dev-s…
SparkSnail Feb 23, 2021
ce9942a
fix message empty error
SparkSnail Feb 23, 2021
3cbb0db
refactor message to a shorter one
SparkSnail Feb 24, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ts/nni_manager/common/datastore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ interface TrialJobEventRecord {
readonly data?: string;
readonly logPath?: string;
readonly sequenceId?: number;
readonly message?: string;
}

interface MetricData {
Expand Down
1 change: 0 additions & 1 deletion ts/nni_manager/common/manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ abstract class Manager {
public abstract getTrialLog(trialJobId: string, logType: LogType): Promise<string>;

public abstract getTrialJobStatistics(): Promise<TrialJobStatistics[]>;
public abstract getTrialJobMessage(trialJobId: string): string | undefined;
public abstract getStatus(): NNIManagerStatus;
}

Expand Down
2 changes: 1 addition & 1 deletion ts/nni_manager/core/nniDataStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ class NNIDataStore implements DataStore {
if (timestamp === undefined) {
timestamp = Date.now();
}

return this.db.storeTrialJobEvent(event, trialJobId, timestamp, hyperParameter, jobDetail).catch(
(err: Error) => {
throw NNIError.FromError(err, 'Datastore error: ');
Expand Down Expand Up @@ -381,6 +380,7 @@ class NNIDataStore implements DataStore {
if (record.sequenceId !== undefined && jobInfo.sequenceId === undefined) {
jobInfo.sequenceId = record.sequenceId;
}
jobInfo.message = record.message;
map.set(record.trialJobId, jobInfo);
}

Expand Down
8 changes: 0 additions & 8 deletions ts/nni_manager/core/nnimanager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -353,14 +353,6 @@ class NNIManager implements Manager {
return this.status;
}

public getTrialJobMessage(trialJobId: string): string | undefined {
const trialJob = this.trialJobs.get(trialJobId);
if (trialJob !== undefined){
return trialJob.message
}
return undefined
}

public async listTrialJobs(status?: TrialJobStatus): Promise<TrialJobInfo[]> {
return this.dataStore.listTrialJobs(status);
}
Expand Down
10 changes: 6 additions & 4 deletions ts/nni_manager/core/sqlDatabase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { TrialJobDetail } from '../common/trainingService';


const createTables: string = `
create table TrialJobEvent (timestamp integer, trialJobId text, event text, data text, logPath text, sequenceId integer);
create table TrialJobEvent (timestamp integer, trialJobId text, event text, data text, logPath text, sequenceId integer, message text);
create index TrialJobEvent_trialJobId on TrialJobEvent(trialJobId);
create index TrialJobEvent_event on TrialJobEvent(event);

Expand Down Expand Up @@ -62,7 +62,8 @@ function loadTrialJobEvent(row: any): TrialJobEventRecord {
event: row.event,
data: row.data === null ? undefined : row.data,
logPath: row.logPath === null ? undefined : row.logPath,
sequenceId: row.sequenceId === null ? undefined : row.sequenceId
sequenceId: row.sequenceId === null ? undefined : row.sequenceId,
message: row.message === null ? undefined: row.message
};
}

Expand Down Expand Up @@ -163,10 +164,11 @@ class SqlDB implements Database {

public storeTrialJobEvent(
event: TrialJobEvent, trialJobId: string, timestamp: number, hyperParameter?: string, jobDetail?: TrialJobDetail): Promise<void> {
const sql: string = 'insert into TrialJobEvent values (?,?,?,?,?,?)';
const sql: string = 'insert into TrialJobEvent values (?,?,?,?,?,?,?)';
const logPath: string | undefined = jobDetail === undefined ? undefined : jobDetail.url;
const sequenceId: number | undefined = jobDetail === undefined ? undefined : jobDetail.form.sequenceId;
const args: any[] = [timestamp, trialJobId, event, hyperParameter, logPath, sequenceId];
const message: string | undefined = jobDetail === undefined ? undefined : jobDetail.message;
const args: any[] = [timestamp, trialJobId, event, hyperParameter, logPath, sequenceId, message];

this.log.trace(`storeTrialJobEvent: SQL: ${sql}, args: ${JSON.stringify(args)}`);
const deferred: Deferred<void> = new Deferred<void>();
Expand Down
10 changes: 0 additions & 10 deletions ts/nni_manager/rest_server/restHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,6 @@ class NNIRestHandler {
this.nniManager.listTrialJobs(req.query.status).then((jobInfos: TrialJobInfo[]) => {
jobInfos.forEach((trialJob: TrialJobInfo) => {
this.setErrorPathForFailedJob(trialJob);
this.setMessageforJob(trialJob);
});
res.send(jobInfos);
}).catch((err: Error) => {
Expand All @@ -226,7 +225,6 @@ class NNIRestHandler {
router.get('/trial-jobs/:id', (req: Request, res: Response) => {
this.nniManager.getTrialJob(req.params.id).then((jobDetail: TrialJobInfo) => {
const jobInfo: TrialJobInfo = this.setErrorPathForFailedJob(jobDetail);
this.setMessageforJob(jobInfo);
res.send(jobInfo);
}).catch((err: Error) => {
this.handleError(err, res);
Expand Down Expand Up @@ -327,14 +325,6 @@ class NNIRestHandler {

return jobInfo;
}

private setMessageforJob(jobInfo: TrialJobInfo): TrialJobInfo {
if (jobInfo === undefined){
return jobInfo
}
jobInfo.message = this.nniManager.getTrialJobMessage(jobInfo.trialJobId);
return jobInfo
}
}

export function createRestHandler(rs: NNIRestServer): Router {
Expand Down
4 changes: 0 additions & 4 deletions ts/nni_manager/rest_server/test/mockedNNIManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,6 @@ export class MockedNNIManager extends Manager {
return deferred.promise;
}

public getTrialJobMessage(trialJobId: string): string | undefined {
return "TEST-MESSAGE"
}

public stopExperiment(): Promise<void> {
throw new MethodNotImplementedError();
}
Expand Down
1 change: 1 addition & 0 deletions ts/nni_manager/training_service/reusable/trial.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export class TrialDetail implements TrialJobDetail {
public form: TrialJobApplicationForm;
public isEarlyStopped?: boolean;
public environment?: EnvironmentInformation;
public message?: string;

// init settings of trial
public settings = {};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,6 @@ class TrialDispatcher implements TrainingService {
if (environment.environmentService === undefined) {
throw new Error(`${environment.id} does not has environment service!`);
}

trial.url = environment.trackingUrl;
const environmentStatus = environment.status;

Expand Down Expand Up @@ -704,6 +703,7 @@ class TrialDispatcher implements TrainingService {
if (environment.environmentService === undefined) {
throw new Error(`${environment.id} environmentService not initialized!`);
}
trial.message = `Platform: ${environment.environmentService.getName}, environment: ${environment.id}`;
if (environment.environmentService.hasStorageService) {
const storageService = component.get<StorageService>(StorageService);
trial.workingDirectory = storageService.joinPath('trials', trial.id);
Expand Down