1 /* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12 /* 13 * Copyright 2012 (c), Joyent, Inc. All rights reserved. 14 */ 15 16 #include <sys/sdt.h> 17 #include "usdt.h" 18 19 #define FMT "{" \ 20 " \"sizes\": [ \"first\", 2, %f ]," \ 21 " \"index\": %d," \ 22 " \"facts\": {" \ 23 " \"odd\": \"%s\"," \ 24 " \"even\": \"%s\"" \ 25 " }," \ 26 " \"action\": \"%s\"" \ 27 "}\n" 28 29 int 30 waiting(volatile int *a) 31 { 32 return (*a); 33 } 34 35 int 36 main(int argc, char **argv) 37 { 38 volatile int a = 0; 39 int idx; 40 double size = 250.5; 41 42 while (waiting(&a) == 0) 43 continue; 44 45 for (idx = 0; idx < 10; idx++) { 46 char *odd, *even, *json, *action; 47 48 size *= 1.78; 49 odd = idx % 2 == 1 ? "true" : "false"; 50 even = idx % 2 == 0 ? "true" : "false"; 51 action = idx == 7 ? "ignore" : "print"; 52 53 asprintf(&json, FMT, size, idx, odd, even, action); 54 BUNYAN_FAKE_LOG_DEBUG(json); 55 free(json); 56 } 57 58 BUNYAN_FAKE_LOG_DEBUG("{\"finished\": true}"); 59 60 return (0); 61 }