1   /*
2    * (C) Copyright 1989-2011 Trend Micro, Inc.
3    * All Rights Reserved.
4    *
5    * This program is an unpublished copyrighted work which is proprietary
6    * to Trend Micro, Inc. and contains confidential information that is not
7    * to be reproduced or disclosed to any other person or entity without
8    * prior written consent from Trend Micro, Inc. in each and every instance.
9    *
10   * WARNING:  Unauthorized reproduction of this program as well as
11   * unauthorized preparation of derivative works based upon the
12   * program or distribution of copies by sale, rental, lease or
13   * lending are violations of federal copyright laws and state trade
14   * secret laws, punishable by civil and criminal penalties.
15   */
16  
17  package com.trendmicro.grid.acl.l0;
18  
19  import com.trendmicro.grid.acl.ProtectedRequestContext;
20  import com.trendmicro.grid.acl.Service;
21  import com.trendmicro.grid.acl.l0.datatypes.UsageStatistics;
22  import com.trendmicro.grid.acl.l0.datatypes.UsageStatisticsCollection;
23  
24  import javax.jws.WebMethod;
25  import javax.jws.WebResult;
26  import javax.jws.WebService;
27  import javax.servlet.annotation.WebServlet;
28  
29  /**
30   * Defines an interface returning
31   *
32   * @author Juergen_Kellerer, 2011-04-12
33   * @version 1.0
34   */
35  @ProtectedRequestContext
36  @WebServlet("/ws/level-0/internal/server-statistics")
37  @WebService(targetNamespace = Level0Constants.NAMESPACE)
38  public interface ServerStatisticsService extends Service {
39  	/**
40  	 * Returns the combined overall usage statistics that cover the usage for the up-time of the service.
41  	 *
42  	 * @return the combined overall usage statistics that cover the usage for the up-time of the service.
43  	 */
44  	@WebMethod
45  	@WebResult(name = "usageStatistics")
46  	UsageStatistics getOverallUsageStatistics();
47  
48  	/**
49  	 * Returns the latest usage statistics being currently recorded.
50  	 *
51  	 * @return the latest usage statistics being currently recorded.
52  	 */
53  	@WebMethod
54  	@WebResult(name = "usageStatistics")
55  	UsageStatistics getCurrentUsageStatistics();
56  
57  	/**
58  	 * Returns a collection of hourly usage statistics for 24 hours (= a collection with 24 entries).
59  	 *
60  	 * @return a collection of hourly statistics for 24 hours (= a collection with 24 entries).
61  	 */
62  	@WebMethod
63  	@WebResult(name = "usageStatistics")
64  	UsageStatisticsCollection getCollectedUsageStatistics();
65  }