#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # set -e OUTFILE=machine.json echo "Making ${OUTFILE}" echo "** NOTE: This command fails on everything but OSX right now. **" echo "* also, the intent is to make this script not suck, just not now. *" echo "Please type GPU details here (or manually modify ${OUTFILE} later)." read -p "GPU information string (or ): " gpu_information read -p "GPU part number (or ): " gpu_part_number read -p "GPU product name (or ): " gpu_product_name cat < ${OUTFILE} { "mac_address": "$(ifconfig en1 | awk '/ether/{print $2}')", "machine_name": "$(uname -n)", "memory_bytes": $(sysctl -n hw.memsize), "cpu_actual_frequency_hz": $(sysctl -n hw.cpufrequency), "os_name": "$(uname -s)", "architecture_name": "$(uname -m)", "kernel_name": "$(uname -r)", "cpu_model_name": "$(sysctl -n machdep.cpu.brand_string)", "cpu_core_count": $(sysctl -n hw.physicalcpu), "cpu_thread_count": $(sysctl -n hw.logicalcpu), "cpu_frequency_max_hz": $(sysctl -n hw.cpufrequency_max), "cpu_frequency_min_hz": $(sysctl -n hw.cpufrequency_min), "cpu_l1d_cache_bytes": $(sysctl -n hw.l1dcachesize), "cpu_l1i_cache_bytes": $(sysctl -n hw.l1icachesize), "cpu_l2_cache_bytes": $(sysctl -n hw.l2cachesize), "cpu_l3_cache_bytes": $(sysctl -n hw.l3cachesize), "gpu_information": "${gpu_information}", "gpu_part_number": "${gpu_part_number}", "gpu_product_name": "${gpu_product_name}" } MACHINE_JSON echo "Machine details saved in ${OUTFILE}"