2017-01-18 9 views
9

मैं यह जानना चाहता हूं कि मेरे चमकदार ऐप की कौन सा विशेषता सबसे अधिक उपयोग की जाती है ... ऐसा करने का पसंदीदा तरीका क्या है? फिलहाल मैं चमकदार सर्वर access.log का विश्लेषण करता हूं और .../session/69d4f32b3abc77e71097ae4beefbd135/dataobj/lifecycle_table जैसे कुछ लिंक ढूंढ सकता है जो इंगित करता है कि DT ऑब्जेक्ट lifecycle_table कहलाता है। लेकिन मैं इसे केवल DT ऑब्जेक्ट्स के लिए देख सकता हूं। क्या बेहतर तरीके हैं? प्रति अद्वितीय आईपी इस आंकड़े बनाना पसंद करेंगे। असल में कौन से टैब क्लिक किए जाते हैं। मैं तलाश किए जाने आदिउपयोग पर आंकड़े बनाने के लिए चमकदार सर्वर लॉग का विश्लेषण

+0

अपनी खुद की लॉग फ़ाइल लिखें। हर बार एक प्रतिक्रियाशील संदर्भ जिसमें आप रुचि रखते हैं सक्रिय है, आप लॉग फ़ाइल पर प्रासंगिक जानकारी लिख सकते हैं और इसके आंकड़े कर सकते हैं। – nicola

+0

@nicola टैब का चयन करते समय मैं कुछ कैसे ट्रिगर करूं? – drmariod

उत्तर

4

संपादित में कोई दिलचस्पी नहीं: ?tabsetPanel आप देखते हैं कि आप पैनल के लिए एक आईडी का उल्लेख कर सकते हैं: क्लिक किया टैब के बारे में जानकारी प्राप्त करने के लिए में एक नजर है। तो टैबसेट पैनेल (आईडी = "टैब", ...) आपको इनपुट $ टैब के साथ सर्वर पक्ष पर चयनित टैबपेनल को ट्रैक करने में सक्षम करेगा।

नीचे एक उदाहरण देखें: (https://shiny.rstudio.com/articles/tabsets.html के आधार पर)

library(shiny) 

ui <- shinyUI(pageWithSidebar(

    # Application title 
    headerPanel("Tabsets"), 

    # Sidebar with controls to select the random distribution type 
    # and number of observations to generate. Note the use of the br() 
    # element to introduce extra vertical spacing 
    sidebarPanel(
    radioButtons("dist", "Distribution type:", 
       list("Normal" = "norm", 
         "Uniform" = "unif", 
         "Log-normal" = "lnorm", 
         "Exponential" = "exp")), 
    br(), 

    sliderInput("n", 
       "Number of observations:", 
       value = 500, 
       min = 1, 
       max = 1000) 
), 

    # Show a tabset that includes a plot, summary, and table view 
    # of the generated distribution 
    mainPanel(
    tabsetPanel(id = "tabs", 
       tabPanel("Plot", plotOutput("plot")), 
       tabPanel("Summary", verbatimTextOutput("summary")), 
       tabPanel("Visited Tabs", tableOutput("table")) 
    ) 
) 
)) 


# Define server logic for random distribution application 
server <- shinyServer(function(input, output, session) { 
    global <- reactiveValues(visitedTabs = c()) 

    # Reactive expression to generate the requested distribution. This is 
    # called whenever the inputs change. The renderers defined 
    # below then all use the value computed from this expression 
    data <- reactive({ 
    dist <- switch(input$dist, 
        norm = rnorm, 
        unif = runif, 
        lnorm = rlnorm, 
        exp = rexp, 
        rnorm) 

    dist(input$n) 
    }) 

    observe({ 
    input$tabs 
    isolate({ 
     userTabInfo <- paste0(" selected: ",input$tabs) 
     print(userTabInfo) 
     global$visitedTabs = c(global$visitedTabs, userTabInfo) 
    }) 
    }) 

    # Generate a plot of the data. Also uses the inputs to build the 
    # plot label. Note that the dependencies on both the inputs and 
    # the 'data' reactive expression are both tracked, and all expressions 
    # are called in the sequence implied by the dependency graph 
    output$plot <- renderPlot({ 
    dist <- input$dist 
    n <- input$n 

    hist(data(), 
     main=paste('r', dist, '(', n, ')', sep='')) 
    }) 

    # Generate a summary of the data 
    output$summary <- renderPrint({ 
    str(session$userData) 
    # session$user 
    }) 

    # Generate an HTML table view of the data 
    output$table <- renderTable({ 
    data.frame(global$visitedTabs) 
    }) 
}) 

shinyApp(ui, server) 

आईपी के विषय में: मैं लगभग 4-5 कोड के टुकड़े पता आईपी प्राप्त करने के लिए और वे सब जेएसएस या XSS शैली का उपयोग कैसे आप इसे कहते :) मैं मानता हूं कि यह किसी भी तरह से संभव होना चाहिए, लेकिन चूंकि लोगों ने 3-4 साल पहले ही पूछा था, मुझे यकीन नहीं है कि यह वास्तव में चमकदार टीम से जागरूकता का विषय है। उम्मीद है कि टैब ट्रैकिंग वैसे भी मदद करता है। यदि आप चाहें तो आईपी प्राप्त करने के लिए मैं जेएस स्निपेट जोड़ सकता हूं।

+0

पुह, मुझे इनपुट ट्रैक करने में कोई दिलचस्पी नहीं थी, लेकिन यह एक अच्छा समाधान है। वैसे भी, जो मुझे पसंद नहीं है वह फ्रीजॉयप करने का आह्वान है ... चमकदार सर्वर पहले से ही उपयोगकर्ता के आईपी को जानता है। क्या कोई दूसरा रास्ता नहीं है? आपका एक्सएसएस की तरह थोड़ा दिखता है :-) या वास्तव में यह है ... – drmariod

+0

HI @drmariod। ओह, मुझे लगता है कि मैं एक और सवाल का जवाब देने से दूर हो गया, जो मेरे लिए अधिक दिलचस्प था;) वैसे भी, उपरोक्त संपादन को केवल इनपुट के बिना टैब को ट्रैक करने के लिए देखें। आईपी ​​के बारे में: मुझे आईपी प्राप्त करने के लिए लगभग 4-5 कोड स्निपेट पता हैं और वे सभी जेएसएस या एक्सएसएस-स्टाइल का उपयोग करते हैं, जिसे आप इसे कॉल करते हैं :) मैं मानता हूं कि यह किसी भी तरह से संभव होना चाहिए, लेकिन चूंकि लोगों ने पहले ही 3-4 साल पहले पूछा था, मुझे यकीन नहीं है कि यह वास्तव में चमकदार टीम से जागरूकता का विषय है। उम्मीद है कि टैब ट्रैकिंग वैसे भी मदद करता है। – BigDataScientist

संबंधित मुद्दे