Whamcloud - gitweb
LU-1187 osp: add osp_md_object for remote directory.
[fs/lustre-release.git] / snmp / lustre-snmp-util.h
index 56770a2..1710ef5 100644 (file)
@@ -1,23 +1,39 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
+/*
+ * GPL HEADER START
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 only,
+ * as published by the Free Software Foundation.
  *
- *  Copyright (c) 2005 Cluster File Systems, Inc.
- *   Author: PJ Kirner <pjkirner@clusterfs.com>
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License version 2 for more details (a copy is included
+ * in the LICENSE file that accompanied this code).
  *
- *   This file is part of Lustre, http://www.lustre.org.
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
  *
- *   Lustre is free software; you can redistribute it and/or
- *   modify it under the terms of version 2 of the GNU General Public
- *   License as published by the Free Software Foundation.
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ * GPL HEADER END
+ */
+/*
+ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * This file is part of Lustre, http://www.lustre.org/
+ * Lustre is a trademark of Sun Microsystems, Inc.
  *
- *   Lustre is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
+ * snmp/lustre-snmp-util.h
  *
- *   You should have received a copy of the GNU General Public License
- *   along with Lustre; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Author: PJ Kirner <pjkirner@clusterfs.com>
  */
 
 #ifndef LUSTRE_SNMP_UTIL_H
@@ -56,6 +72,7 @@
 #define MDDFREECAPACITY     54
 #define MDDFILES            55
 #define MDDFREEFILES        56
+#define MDSNBSAMPLEDREQ     57
 
 #define MDCNUMBER           60
 #define MDCUUID             61
 #define CLIENT_PATH                 LUSTRE_PATH "llite/"
 #define LOV_PATH                    LUSTRE_PATH "lov/"
 #define LDLM_PATH                   LUSTRE_PATH "ldlm/namespaces/"
+#define FILEPATH_MDS_SERVER_STATS             LUSTRE_PATH "mdt/MDS/mds/stats"
+#define FILEPATH_MDS_SERVER_READPAGE_STATS             LUSTRE_PATH "mdt/MDS/mds_readpage/stats"
+#define FILEPATH_MDS_SERVER_SETATTR_STATS             LUSTRE_PATH "mdt/MDS/mds_setattr/stats"
 
 /* Common procfs file entries that are refrenced in mulitple locations*/
 #define FILENAME_SYSHEALTHCHECK     "health_check"
 #define FILENAME_KBYTES_FREE        "kbytesfree"
 #define FILENAME_FILES_TOTAL        "filestotal"
 #define FILENAME_FILES_FREE         "filesfree"
+#define STR_REQ_WAITIME             "req_waittime"
 
 /* strings which the file /var/lustre/sysStatus can hold */
 #define STR_ONLINE                  "online"
@@ -154,7 +175,7 @@ typedef enum {
 } lustre_sysstatus;
 
 /* File operation related functions */
-char *get_file_list(const char *dirname, int file_type, __u32 *count);
+char *get_file_list(const char *dirname, int file_type, uint32_t *count);
 extern int  is_directory(const char *filename);
 extern int  read_string(const char *filepath, char *lustre_var,size_t var_size);
 int read_counter64(const char *file_path, counter64 *c64,int factor);
@@ -194,4 +215,14 @@ unsigned char *
         const char *path,
         struct oid_table *ptable);
 
+int stats_values(char * filepath,char * name_value, unsigned long long * nb_sample, unsigned long long * min, unsigned long long * max, unsigned long long * sum, unsigned long long * sum_square);
+extern int mds_stats_values(char * name_value, unsigned long long * nb_sample, unsigned long long * min, unsigned long long * max, unsigned long long * sum, unsigned long long * sum_square);
+
+ /* export for net-snmp util-funcs */
+int             header_simple_table(struct variable *, oid *, size_t *,
+                                    int, size_t *,
+                                    WriteMethod ** write_method, int);
+int             header_generic(struct variable *, oid *, size_t *, int,
+                               size_t *, WriteMethod **);
+
 #endif /* LUSTRE_SNMP_UTIL_H */