81 lines
2.2 KiB
C#
81 lines
2.2 KiB
C#
/*
|
|
Copyright (c) Microsoft Corporation
|
|
|
|
All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
|
|
compliance with the License. You may obtain a copy of the License
|
|
at http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
|
|
EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF
|
|
TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
|
|
|
See the Apache Version 2.0 License for specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
namespace Microsoft.Research.Dryad
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ServiceModel;
|
|
using System.Runtime.Serialization;
|
|
|
|
[DataContract]
|
|
public class ProcessStatistics
|
|
{
|
|
[DataMember]
|
|
public uint flags;
|
|
[DataMember]
|
|
public long processUserTime;
|
|
[DataMember]
|
|
public long processKernelTime;
|
|
[DataMember]
|
|
public int pageFaults;
|
|
[DataMember]
|
|
public int totalProcessesCreated;
|
|
[DataMember]
|
|
public ulong peakVMUsage;
|
|
[DataMember]
|
|
public ulong peakMemUsage;
|
|
[DataMember]
|
|
public ulong memUsageSeconds;
|
|
[DataMember]
|
|
public ulong totalIo;
|
|
};
|
|
|
|
[DataContract]
|
|
public class ProcessInfo
|
|
{
|
|
[DataMember]
|
|
public uint flags;
|
|
[DataMember]
|
|
public ProcessState processState;
|
|
[DataMember]
|
|
public uint processStatus;
|
|
[DataMember]
|
|
public uint exitCode;
|
|
[DataMember]
|
|
public ProcessPropertyInfo[] propertyInfos;
|
|
[DataMember]
|
|
public ProcessStatistics processStatistics;
|
|
};
|
|
|
|
[ServiceContract(SessionMode = SessionMode.Allowed)]
|
|
public interface IDryadVertexCallback
|
|
{
|
|
[OperationContract]
|
|
void FireStateChange(int processId, ProcessState newState);
|
|
|
|
[OperationContract]
|
|
void SetGetPropsComplete(int processId, ProcessInfo info, string[] propertyLabels, ulong[] propertyVersions);
|
|
|
|
[OperationContract]
|
|
void ProcessExited(int processId, int exitCode);
|
|
}
|
|
}
|